我用Windows Installer XML生成了一个MSI文件,所选对话框集是“WixUI_Advanced”。然后,我想从WPF窗口启动MSI单击一个按钮,并将安装路径作为参数传递给MSI。所以我使用下面的代码来启动MSI:
Process proc = new Process();
proc.StartInfo.FileName = "msiexec";
string filePath = "C:\\experimente\\WpfTestApplication\\TestSetup\\bin\\Debug\\TestSetup.msi";
proc.StartInfo.Arguments = @"/i " + filePath + " INSTALLATIONPATH=C:\\workspace";
proc.Start();
在WIX项目的Product.wxs中,i定义了INSTALLATIONPATH属性:
C:\安装
稍后,我尝试在Id中设置给定的参数,其中通常代表“ProgramFilesFolder”:
<Directory Id="TARGETDIR"
Name="SourceDir">
<Directory Id="INSTALLATIONPATH">
<Directory Id="APPLICATIONFOLDER"
Name="TestApplication">
</Directory>
</Directory>
</Directory>
当我启动我的WPF-App并按下按钮时,MSI启动,但安装路径仍然是programfiles文件夹。谁能告诉我,我做错了什么?
先谢谢你,帕特里克
2条答案
按热度按时间mlnl4t2r1#
这是安静的简单-如果你知道它!
在MSI项目和应用程序旁边,您需要一个名为p.e.的 Bootstrap 项目。“BootstrapperSetup”。在Bundle.wxs中您写道:
在您的MSI的Product.wxs中,您有一个TARGETDIR条目,如下所示:
然后你重建你的解决方案,在Windows资源管理器中转到你的 Bootstrap 项目的Debug文件夹,启动DOS窗口并设置如下命令:
就这样!
kmbjn2e32#