Wix-在InstallFinalize之后运行延迟操作

Wix-在InstallFinalize之后运行延迟操作,wix,Wix,阅读Wix帮助,我看到“延迟执行自定义操作必须在操作序列中的InstallInitialize之后和InstallFinalize之前。” 然而,我必须在需要使用用户凭据运行的远程设备上执行数据库升级,所以我创建了一个立即操作,并将其设置为在installFinalize之后运行。随后,我需要运行另一个自定义操作来启动从数据库读取值的windows服务,这需要提升(系统)权限,因此需要延迟自定义操作。正如Wix的帮助善意地向我解释的那样,我不能这样做 任何帮助,提示或Wix技巧,请感谢 <

阅读Wix帮助,我看到“延迟执行自定义操作必须在操作序列中的InstallInitialize之后和InstallFinalize之前。”

然而,我必须在需要使用用户凭据运行的远程设备上执行数据库升级,所以我创建了一个立即操作,并将其设置为在installFinalize之后运行。随后,我需要运行另一个自定义操作来启动从数据库读取值的windows服务,这需要提升(系统)权限,因此需要延迟自定义操作。正如Wix的帮助善意地向我解释的那样,我不能这样做

任何帮助,提示或Wix技巧,请感谢

<CustomAction Id="LaunchServerUpgrade" FileKey="Config.exe" ExeCommand="/upgradeServer" 
          Return="ignore" Execute="deferred" Impersonate="no"/>

<CustomAction Id="LaunchServerDatabaseUpgrade" FileKey="Config.exe" ExeCommand=" /databaseupgrade"
          Return="ignore" Execute="immediate"/>

<CustomAction Id="LaunchServerStartServices" FileKey="Config.exe" ExeCommand=" /startservices"
          Return="ignore" Execute="deferred" Impersonate="no"/>

<InstallExecuteSequence>
    <Custom Action="LaunchServerUpgrade" Before='InstallFinalize'>
        <![CDATA[(SERVERCONFIGUPGRADE) AND NOT REMOVE)]]>
    </Custom>
    <Custom Action="LaunchServerDatabaseUpgrade" After='InstallFinalize'>
        <![CDATA[(SERVERCONFIGUPGRADE) AND NOT REMOVE)]]>
    </Custom>
    <Custom Action="LaunchServerStartServices" After='InstallFiles'>
        <![CDATA[(SERVERCONFIGUPGRADE) AND NOT REMOVE)]]>
    </Custom>
</InstallExecuteSequence>


您可以发布一些代码吗?因此,您需要对其执行操作的机器与安装程序运行的机器不同?可以,但仅限于数据库。安装程序正在服务器上运行,因此可以更新文件、启动服务等。。。但用于执行此操作的本地系统帐户没有在远程计算机上配置数据库的权限。