小编Tal*_*yke的帖子

Wix - 在安装结束时运行exe(带参数),当前MSI没有安装

我有一个在WiX 3.6中创建的MSI显然安装了各种东西,并创建了一个我的MSI实际上没有安装的exe的快捷方式(我们确实知道exe位于特定的文件夹中,因为它是由一个单独安装的MSI,这是我的MSI所需的预先请求.我们创建的快捷方式传递了一些参数,这些参数实际上告诉exe使用我们刚刚安装的东西.这一切都运行正常,但我现在希望MSI使用与我们在快捷方式中使用的参数相同的参数自动运行exe.

我尝试了这篇文章 - http://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/run_program_after_install.html,但它假设您要运行刚刚安装的exe并且似乎不使用exe参数.

我也试过使用自定义动作 -

<CustomAction Id="RunMainApp"
          Directory="FREDFOLDER"
          ExeCommand="[FREDFOLDER]Fred.exe -SBDSingleApp -SBDSplash=&quot;MySplash.bmp&quot;"
          Execute="commit"
          Return="ignore"/>

<InstallExecuteSequence>
  <Custom Action="RunMainApp" Before="InstallFinalize" />
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)

这是更有希望的 - 它运行exe,但在实际安装完成之前这样做 - 这显然是不正确的.

说实话,我不困扰,如果围绕具有UI作为第一个例子 - 因为已经显示的MSI将在安静模式下运行时不使用向导90%.

windows arguments custom-action wix

6
推荐指数
1
解决办法
1万
查看次数

WiX Burn - 根据条件设置InstallFolder变量

我正在使用WiX 3.6(但如果需要可以升级到3.8)并且有一个用BURN编写的启动器,这几乎可以完成我需要的一切,除了这个问题; 我似乎无法破解.

我有两个变量; Product_XYZ和Product_ABC.第一个包含通过注册表搜索填充的文件夹路径(因此如果搜索没有找到我的reg密钥,它可能是空白的),另一个是硬编码的(即"[ProgramFilesFolder]\ABC").

我只是(?)想要将InstallFolder变量(通过Options按钮显示在UI中)设置为Product_XYZ变量中的值(如果它不是空白).如果它是空白的,我想将InstallFolder设置为Product_ABC中的值.

If Product_XYZ <> "" then
    InstallFolder = [Product_XYZ]
else
    InstallFolder = [Product_ABC]
endif 
Run Code Online (Sandbox Code Playgroud)

但显然使用BURN逻辑!!

谁能帮帮我吗 ?

干杯,

克里斯.

wix burn

2
推荐指数
1
解决办法
7235
查看次数

标签 统计

wix ×2

arguments ×1

burn ×1

custom-action ×1

windows ×1