我想使用基于wix的安装程序来部署我的应用程序,并且还希望它在命令行中可用,这样安装后我可以像这样调用我的应用程序:
C:\> myApp "Some parameters"
我知道可以通过将安装目录添加到PATH来实现此目的,但是我还需要更多。
我想用其他名称调用我的应用程序,例如我的应用程序命名为
MyApp.Cli.exe
出于某些原因,我想将该命名方案保留在install文件夹中。但是在命令行上,我想将我的应用命名为
C:\> MyApp
代替
C:\> MyApp.Cli.exe
任何想法如何做到这一点?非常感谢您的帮助。
答案 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
并不能奏效。测试不多,有没有玩?
链接 :