2015-11-20 58 views
0

下面是我的代码,当我尝试安装我的MSI时,它执行了所有操作,但下面的行显示没有执行迹象。无法在WiX脚本中执行命令

   <Binary Id="unzipExeId" SourceFile="unzip.exe"/> 
       <Property Id="WixQuietExec64CmdLine" Value="[#$(var.InstallationLocation)\unzip.exe]"/> 
       <CustomAction Id="unzipAction" BinaryKey="unzipExeId" DllEntry="WixQuietExec64" Execute='deferred' Return ='asyncWait' Impersonate='no'/> 
       <InstallExecuteSequence> 
        <Custom Action='unzipAction' Before='InstallFinalize'/> 
       </InstallExecuteSequence> 

我错过了什么。

但是当我尝试此代码

   <Binary Id="unzipExeId" SourceFile="unzip.exe"/> 
       <CustomAction Id="unzipAction" BinaryKey="unzipExeId" ExeCommand="START /B unzip.exe" Execute='deferred' Return ='asyncWait' Impersonate='no'/> 
       <InstallExecuteSequence> 
        <Custom Action='unzipAction' Before='InstallFinalize'/> 
       </InstallExecuteSequence> 

一切都工作得很好,但包含unzip.exe的执行机器导致弹出。这个exe并没有默默安装。但我需要默默执行EXE。 预先感谢

回答

1

它可能与DllEntry相关,而不是使用“WixQuietExec64”尝试使用“CAWixQuietExec64”。

这是一个悬而未决的问题。 http://wixtoolset.org/issues/4802/

这是作为共同使用:

<CustomAction Id="CA_RunBatchScript" 
       BinaryKey="WixCA" 
       DllEntry="CAQuietExec" 
       Execute="deferred" 
       Return="check" /> 
+0

我用的DLL CAQuietExec和CAWixQuietExec64。在安装时都表示“这个Windows安装程序包存在问题无法运行此安装所需的DLL。请联系您的支持人员或包供应商” –

+0

https://www.firegiant.com/wix/tutorial/标准库/沉默 - 请/ 这是我兴奋地做了与你所提到的相同,但仍然有exe未触发 –