应使用什么属性ID代替" WixShellExecTarget"如果有几个带有BinaryKey / DllEntry的CustomActions?

时间:2014-10-13 15:30:42

标签: wix windows-installer

我使用以下配置在安装应用程序后启动我的服务器:

<InstallExecuteSequence>
  <Custom Action='LaunchApplication' After='InstallFinalize'/>
</InstallExecuteSequence>

<Property Id="WixShellExecTarget" Value="[#startServer.vbs]" />
<CustomAction Id="LaunchApplication" 
    BinaryKey="WixCA"  
    DllEntry="WixShellExec"
    Execute="immediate"
    Impersonate="yes" />

安装程序在安装过程结束时执行脚本startServer.vbs 如果我需要执行多个自定义操作,我应该使用什么属性? 例如,如果我将使用以下配置。我应该将什么属性用于StopApplication自定义操作?

<InstallExecuteSequence>
  <Custom Action='LaunchApplication' After='InstallFinalize'/>
  <Custom Action='StopApplication' Before='InstallValidate'/>
</InstallExecuteSequence>

<Property Id="WixShellExecTarget" Value="[#startServer.vbs]" />
<CustomAction Id="LaunchApplication" 
    BinaryKey="WixCA"  
    DllEntry="WixShellExec"
    Execute="immediate"
    Impersonate="yes" />

<Property Id="???" Value="[#stopServer.vbs]" />
<CustomAction Id="StopApplication" 
    BinaryKey="WixCA"  
    DllEntry="WixShellExec"
    Execute="immediate"
    Impersonate="yes" />

更新
出现错误&#34;此Windows Installer程序包存在问题。无法运行此安装所需的脚本。&#34;在安装过程中,如果我使用以下配置:

<InstallExecuteSequence>
   <Custom Action='StartServerCustomAction' After='InstallFinalize'/>
</InstallExecuteSequence>
<Binary Id='StartServerScript' SourceFile='startServer.vbs' />
<CustomAction Id='StartServerCustomAction' BinaryKey='StartServerScript' JScriptCall='startServerSub' Return='check' />

startServer.vbs

Public Function startServerSub()
   Return 0
End Function

0 个答案:

没有答案