Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
型 Dialog属性指定自定义操作将附加到的对话框,在本例中为ExitDialog。Control属性指定对话框上的“完成”按钮触发自定义操作。Event属性指示单击按钮时应运行自定义操作,Value属性指定步骤3中包含的自定义操作。元素上的条件阻止操作运行,除非复选框检查了步骤2中的应用程序,并且实际安装了应用程序(而不是删除或修复)。 检查这个链接的细节。How to run exe after install。我复制它在这里的利益,其他人寻找相同的答案。
2条答案
按热度按时间yvfmudvl1#
如果你不需要UI,Isaiah 4110的答案不是最好的方法。
通过WiX生成的MSI文件执行您正在安装的exe文件目标的最简单方法是使用自定义操作类型18(通过FileKey/FileRef识别操作),这里是v3/v4的完整示例:
WiX v3:
字符串
WiX v4:
型
wqsoz72f2#
这可以在WIX扩展的帮助下实现。下面的 * 粗体/斜体 * 文本将处理查找EXE的确切位置的情况:)
第一步:将扩展库添加到项目中
如果您在命令行上使用WiX,则需要将以下内容添加到蜡烛和灯光命令行:
字符串
如果您使用的是Visual Studio,则可以使用“添加引用”对话框添加扩展:
型
第二步:在安装程序中添加UI
WiX Minimal UI序列包括一组基本对话框,其中包括一个带有可选复选框的完成对话框。要将序列包含在项目中,请在
<Product>
元素内的任何位置添加以下片段。型
要在安装程序的最后一个屏幕上显示复选框,请在
<Product>
元素中的任何位置包含以下代码片段:型
WIXUI_EXITDIALOGOPTIONALLIGNKBOXTEXT属性由标准UI序列提供,设置该属性后,将显示复选框并使用指定的值作为复选框标签。
第三步:加入自定义动作
自定义操作包含在使用
<CustomAction>
元素的WiX项目中。运行应用程序是通过WixShellExecTarget自定义操作完成的。要向Windows XP通知自定义操作并设置其属性,请在项目中<Product>
元素内的任何位置包含以下内容:型
Property元素将WixShellExecTarget设置为已安装应用程序的位置。WixShellExecTarget是WixShellExec自定义操作期望设置为要运行的文件的位置的属性ID。*
CustomAction元素包括安装程序中的操作。它被赋予一个唯一的ID,BinaryKey和DllEntry属性指示自定义操作的程序集和入口点。Impersonate属性告诉Windows NT以安装用户的身份运行自定义操作。
第四步:触发自定义动作
简单地包括自定义操作,如步骤3所示,不足以使其运行。还必须告知Windows XP何时应触发自定义操作。这是通过使用
<Publish>
元素将其添加到用户单击UI对话框最后一页上的“完成”按钮时运行的操作中来完成的。Publish元素应包含在步骤2中的<UI>
元素中,看起来像这样:型
Dialog属性指定自定义操作将附加到的对话框,在本例中为ExitDialog。Control属性指定对话框上的“完成”按钮触发自定义操作。Event属性指示单击按钮时应运行自定义操作,Value属性指定步骤3中包含的自定义操作。元素上的条件阻止操作运行,除非复选框检查了步骤2中的应用程序,并且实际安装了应用程序(而不是删除或修复)。
检查这个链接的细节。How to run exe after install。我复制它在这里的利益,其他人寻找相同的答案。