gpt4 book ai didi

c# - 如何将安装路径作为参数传递给使用 WIX 制作的 MSI 文件

转载 作者:太空宇宙 更新时间:2023-11-03 15:50:49 25 4
gpt4 key购买 nike

我已经使用 Windows Installer XML 生成了一个 MSI 文件,并且选择的对话框集是“WixUI_Advanced”。然后我想通过单击按钮并将安装路径作为参数传递给 MSI 从 WPF 窗口启动 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 中,我定义了属性 INSTALLATIONPATH:

C:\安装

然后我尝试在通常代表“ProgramFilesFolder”的 Id 中设置给定参数:

    <Directory Id="TARGETDIR"
Name="SourceDir">
<Directory Id="INSTALLATIONPATH">
<Directory Id="APPLICATIONFOLDER"
Name="TestApplication">
</Directory>
</Directory>
</Directory>

当我启动我的 WPF 应用程序并按下按钮时,MSI 启动,但安装路径仍然是程序文件文件夹。谁能告诉我,我做错了什么?

提前致谢,帕特里克

最佳答案

这很简单 - 如果您知道的话!

您需要 - 在您的 MSI 项目和您的应用程序旁边 - 一个名为 p.e 的 Bootstrap 项目。 “ Bootstrap 设置”。在 Bundle.wxs 你写:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="ProsoftSetupForTest" Version="1.0.0.0" Manufacturer="prosoft GmbH" UpgradeCode="b6f80b17-7a36-425c-a1e5-9c9e7e500da2">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />

<Variable Name="INSTALLFOLDER"
bal:Overridable="yes"
Type="string"
Value="[ProgramFilesFolder]"/>

<Chain>
<MsiPackage Vital="yes"
DisplayName="<The setup identifier for the program registry>"
Id="MsiId"
SourceFile="<The path of Your MSI">
<MsiProperty Name="TARGETDIR"
Value="[INSTALLFOLDER]\MyFolder" />
</MsiPackage>
</Chain>
</Bundle>
</Wix>

在您的 MSI 的 Product.wxs 中,您有一个如下所示的 TARGETDIR 条目:

<Directory Id="TARGETDIR"
Name="SourceDir">
</Directory>

然后你重建你的解决方案,进入 Windows 资源管理器到你的 Bootstrap 项目的调试文件夹,启动一个 DOS 窗口并设置如下命令:

BootstrapperSetup.exe INSTALLFOLDER=C:\TestInstallation

就是这样!

关于c# - 如何将安装路径作为参数传递给使用 WIX 制作的 MSI 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25913019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com