有没有一种方法可以在Wix项目中指定命令行别名?

时间:2019-05-06 20:19:52

标签: cmd wix wix3 wix3.10

我想使用基于wix的安装程序来部署我的应用程序,并且还希望它在命令行中可用,这样安装后我可以像这样调用我的应用程序:

C:\> myApp "Some parameters"

我知道可以通过将安装目录添加到PATH来实现此目的,但是我还需要更多。

我想用其他名称调用我的应用程序,例如我的应用程序命名为

MyApp.Cli.exe

出于某些原因,我想将该命名方案保留在install文件夹中。但是在命令行上,我想将我的应用命名为

C:\> MyApp

代替

C:\> MyApp.Cli.exe

任何想法如何做到这一点?非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

应用路径 :我想您可以尝试 App Paths 吗?它是更新 PATH variable 的替代方法。我认为它不能通过命令行运行,但是它可以在Windows Shell中运行-换句话说,当您执行 Windows Key + R 并键入 "YourAppName" (不带引号),然后运行正确的应用程序而无需更新系统 PATH 变量。

  

提醒 :请记住要在要支持的所有OS版本上进行测试!

关于WiX的说明:

  

边注 The WiX toolkit做一些有趣的事情。它添加了自己的环境变量 WIX 并将其设置为   工具箱的安装文件夹。因此,您可以在脚本和    cmd.exe 窗口: "%WIX%bin\candle.exe" ,以便启动有问题的二进制文件( candle.exe ,< strong> light.exe etc... )。

应用程序路径,注册表 :在注册表中,您的 App Path 看起来像这样:

[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MyApp.exe]
"(Standard)\Your Path Here\Your Path Here\MyApplicationFullName.exe"

实际注册表文件:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\DaTool.exe]
@="C:\\Program Files\\My Tools\\DaFullNameOfDaTool.exe"

WiX标记 :运行 heat.exe reg MyRegExport.reg -out MyWiXFile.wxs -sfrag -suid 以转换导出的 *.reg 文件WiX标记产生这样的结果(未经测试,请适当调整-只是关于如何执行此操作的一般性想法):

<Component>
  <RegistryKey Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\DaTool.exe" Root="HKLM">
    <RegistryValue Value="[ProgramFilesFolder]DaFullNameOfDaTool.exe" Type="string" />
  </RegistryKey>
</Component>

命令行 :似乎可以从命令行窗口使用“开始”命令:

start datool

但是仅 datool 并不能奏效。测试不多,有没有玩?


链接