在我的wxi文件中,我想设置一个包含Program Files目录的变量.我希望它选择Program Files的本地化值.
<?define MyDirectory="!(wix.LocalizedProgramFilesFolder)\MyFiles"?>
Run Code Online (Sandbox Code Playgroud)
我已将LocalizedProgramFilesFolder定义为:
<WixVariable Id="LocalizedProgramFilesFolder" Value="[ProgramFilesFolder]"/>
Run Code Online (Sandbox Code Playgroud)
但是在安装过程中,MyDirectory选为:
"[ProgramFilesFolder]\MyFiles".
Run Code Online (Sandbox Code Playgroud)
它不会扩展ProgramFilesFolder.如何在我的wxi文件中的变量中使用ProgramFilesFolder值?
我在Bundle.wxs中链接了多个Msi/exec包.在我的托管Bootstrapper代码中,我想获取正在执行的当前包的参数(例如DisplayName,Vital等).现在,我只发现了提供packageID的事件.我可以用它以某种方式访问包的其他属性吗?
我使用WPF编写了一个托管的wix bootstrapper.实际安装步骤需要链接多个msi/exe和批处理文件.
<Chain>
<MsiPackage SourceFile="xxx"/>
<ExePackage Id="Test" SourceFile="..\TestBatch.bat" Vital="yes"/>
<MsiPackage SourceFile="yyy"/>
</Chain>
Run Code Online (Sandbox Code Playgroud)
在执行每个包期间,应该显示一条消息(最好来自引导程序UI),指示当前正在执行哪个msi/exe包/批处理文件.简而言之,引导程序中需要一个ProgressText如何实现这一点?
另一个问题:我不希望所有的msi被打包到bootstrapper exe中.这是因为:每次更改msi时,我们只想发送更新/修改的msi,而不是整个bootstrapper exe.有没有办法做到这一点?