我使用以下wxs代码将我的应用程序安装到特定文件夹:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLDIR" Name="CompanyName">
<Directory Id="SUBDIR" Name="Application Launcher">
<Component Id="ApplicationFiles" Guid="*">
<File Name="app.exe" Id="AppFile1" Source="app.exe" Vital="yes" />
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
我想用命令行指定安装文件夹,如下所示:
msiexec.exe /i setup.msi PATH=C:\MyCompany\Folder\ /qn
非常感谢。
答案 0 :(得分:4)
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="CompanyFolder" Name="CompanyName">
<Directory Id="INSTALLLOCATION" Name="Application Launcher">
<Component Id="ApplicationFiles" Guid="*">
<File Name="app.exe" Id="AppFile1" Source="app.exe" Vital="yes" />
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
对于您的安装:
msiexec /I setup.msi INSTALLLOCATION=C:\Somewhere /qn
答案 1 :(得分:1)
我正在添加作为获得正确链接的答案。您应该查看Wix的自动生成GUID功能:WIX Autogenerate GUID *?
此功能允许您停止生成自己的GUID,让Wix在&#34; 自动&#34;办法。我还没有对它进行过测试,但任何让你的源文件更清洁,更短,更易于维护的东西都值得一试。它还可以更轻松地共享Wix片段,而无需人们重复使用您生成的GUID。
也许还可以看看:
关于属性还有一件事。通常,可以在命令行上设置所有 PUBLIC属性(大写)。如果要在延迟模式自定义操作中使用这些属性,则需要查看restricted public properties和SecureCustomProperties property的概念。一些Installshield info也是。还有一个很好的old Wise article。