【发布时间】:2025-12-05 04:40:02
【问题描述】:
我遇到了 wix 安装程序的问题。我的想法是创建 .msi 安装程序,然后用户安装 .msi ,setup.exe 运行,然后用户关闭此 setup.exe(setup 将安装 microsoft add-in)第二个(图片)将依次打开。现在,下面的代码在同时勾选两个应用程序后运行。只有在关闭第一个时才能运行图片吗?请建议!这是我的代码:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" UpgradeCode="b288bcab-ad20-47d5-8d2c-1111111111" Version="$(var.ProductVersion)" Language="1033" Name="Program" Manufacturer="Program LTD">
<Package InstallerVersion="300" Compressed="yes"/>
<Media Id="1" Cabinet="myapplication.cab" EmbedCab="yes" />
<Property Id="ALLUSERS" Value="2" />
<Property Id="MSIINSTALLPERUSER" Value="1" />
<!-- Step 1: Define the directory structure -->
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="InstallFiles" Name="Launch Program">
</Directory>
</Directory>
</Directory>
<UI>
<UIRef Id="WixUI_Mondo" />
<!-- set property and launch the first exe -->
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="PrepareLaunchApplication1">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchApplication1">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
<!-- set property and launch the second exe -->
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="PrepareLaunchApplication2">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchApplication2">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
</UI>
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Program" />
<CustomAction Id="PrepareLaunchApplication1" Property="WixShellExecTarget" Value="[#Setup.exe]" />
<CustomAction Id="LaunchApplication1"
BinaryKey="WixCA"
DllEntry="WixShellExec"
Impersonate="yes"
Return="check"
Execute="immediate"/>
<CustomAction Id="PrepareLaunchApplication2" Property="WixShellExecTarget" Value="[#picture.png]" />
<CustomAction Id="LaunchApplication2"
BinaryKey="WixCA"
DllEntry="WixShellExec"
Impersonate="no"
/>
<!-- Step 2: Add files to your installer package -->
<DirectoryRef Id="InstallFiles">
<Component Id="Setup.exe">
<File Id="Setup.exe" KeyPath="yes"
Name="Setup.exe" Source="$(var.AddinFiles)"></File>
</Component>
<Component Id="picture.png">
<File Id="picture.png" KeyPath="yes"
Name="picture.png" Source="$(var.AddinFiles)"></File>
</Component>
</DirectoryRef>
<!-- Step 3: Tell WiX to install the files -->
<Feature Id="MainApplication" Title="Main Application" Level="1">
<ComponentRef Id="Setup.exe" />
<ComponentRef Id="picture.png" />
</Feature>
</Product>
</Wix>
【问题讨论】:
标签: xml wix windows-installer burn