我从here读取并运行了示例。
有些问题:
4.我如何从MSI文件INSTALLFOLDER,TARGETDIR和其他值中获取(设置)?
答案 0 :(得分:2)
Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperApplication
将告诉您它正在计划或执行的msi包,您也可以获取有关正在执行的安装操作的信息,检查在安装过程中由此引发的事件。2
在您的bootstapper WPF应用
中//ba is an instance of BootstrapperApplication
this.ba.Engine.StringVariables["ServerInstallLoc"] = "YOUR DATA"
<强> Bundle.wxs 强>
<!-- Install paths provided by the managed bootstrapper interface -->
<Variable Name="ServerInstallLoc" bal:Overridable="yes" Type="string" Value=""></Variable>
后来引用这个变量
<MsiPackage Id="MyInstaller" SourceFile="$(var.MyInstallerMsiProjectName.TargetPath)" Compressed="yes" DisplayInternalUI="no">
<!-- Pass wix bundle variable to MSI property -->
<MsiProperty Name="SERVER_INSTALL_OVERRIDE" Value="[ServerInstallLoc]"/>
</MsiPackage>
!(bind.packageVersion.PackageName)
假设您的<MsiPackage>
个元素之一被称为 PackageName 。 Binder variables reference 答案 1 :(得分:0)
问题4请看这个: http://www.wrightfully.com/allowing-the-user-to-select-the-install-folder/
您也可以查看Wix托管引导程序,因为我相信它也可以。您可以在此处下载源代码: https://github.com/wixtoolset/wix3