Wix 安装初始化后立即执行多个文件

Wix 安装初始化后立即执行多个文件,wix,wix3.7,Wix,Wix3.7,我想在InstallInitialize之后执行许多文件,但不能延迟,因为我没有管理员权限。到目前为止,我在一个文件中使用了文档示例: <Property Id="QtExecCmdLine" Value="command line to run"/> <CustomAction Id="QtExecExample" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="check"/>

我想在
InstallInitialize
之后执行许多文件,但不能延迟,因为我没有管理员权限。到目前为止,我在一个文件中使用了文档示例:

<Property Id="QtExecCmdLine" Value="command line to run"/>
<CustomAction Id="QtExecExample" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="check"/>
<InstallExecuteSequence>
    <Custom Action="QtExecExample" After="TheActionYouWantItAfter"/>
</InstallExecuteSequence>

但问题是,只有一个
qtexecmdline
属性,我想执行更多文件


我看到的唯一方法是将文档中的延迟示例与两个自定义操作一起使用。

如果要运行的文件更改了系统,则必须在InstallInitialize之后和InstallFinalize之前运行它们

您可以将“模拟”属性设置为“是”,以作为安装程序的用户而不是系统用户帐户运行它们

要在Installinitialize之后运行多个可执行文件,请执行以下操作:

1) 为它们中的每一个创建CustomAction

<Fragment>
  <CustomAction Id="MYEXE1"
                   FileKey="myexe1.exe"
                   ExeCommand="-u"
                   Execute="rollback"
                   Impersonate="yes"
                   Return="check">
      </CustomAction>
      <CustomAction Id="MYEXE2"
                    FileKey="myexe2.exe"
                    ExeCommand="-i"
                    Execute="deferred"
                    Impersonate="yes"
                    Return="check">
      </CustomAction>
    </Fragment>

2) 安排海关

<InstallExecuteSequence>
<Custom Action="MYEXE1" After="InstallInitialize">
 <![CDATA[NOT Installed]]>
</Custom>
<Custom Action="MYEXE2" After="myexe1">
 <![CDATA[NOT Installed]]>
</Custom>
</InstallExecuteSequence>

谢谢您的回答。这会在短时间内打开一个shell窗口,对吗?