问题描述
在标签中使用FileKey
和ExeCommand
时,我可以调用一个exe,但是当我使用WixQuietExec64
时,它会失败,并出现一个错误,即没有以提升权限调用该exe特权
MSI (s) (DC:34) [14:40:06:767]: Executing op: ActionStart(Name=InstallDebian,)
MSI (s) (DC:34) [14:40:06:830]: Executing op: CustomActionSchedule(Action=InstallDebian,ActionType=3073,Source=BinaryData,Target=WixQuietExec64,CustomActionData="C:\Program Files (x86)\TARFU\debian.exe" install --root)
MSI (s) (DC:78) [14:40:06:830]: Invoking remote custom action. DLL: C:\Windows\Installer\MSIADB5.tmp,Entrypoint: WixQuietExec64
MSI (s) (DC:7C) [14:40:06:845]: Generating random cookie.
MSI (s) (DC:7C) [14:40:06:845]: Created Custom Action Server with PID 9088 (0x2380).
MSI (s) (DC:68) [14:40:06:877]: Running as a service.
MSI (s) (DC:68) [14:40:06:877]: Hello,I'm your 32bit Elevated Non-remapped custom action server.
WixQuietExec64: Installing,this may take a few minutes...
WixQuietExec64:
WslRegisterdistribution Failed with error: 0x80070005
WixQuietExec64:
Error: 0x80070005 Access is denied.
WixQuietExec64:
WixQuietExec64:
WixQuietExec64: Error 0x80070001: Command line returned an error.
WixQuietExec64: Error 0x80070001: QuietExec64 Failed
WixQuietExec64: Error 0x80070001: Failed in ExecCommon method
CustomAction InstallDebian returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandBox)
Action ended 14:40:06: InstallFinalize. Return value 3.
我的产品的摘要。wxs
<SetProperty Id="InstallDebian" Value=""[#DebianExe]" install --root"
Before="InstallDebian" Sequence="execute"/>
<CustomAction Id="InstallDebian" BinaryKey="WixCA" DllEntry="WixQuietExec64"
Execute="deferred" Return="check" Impersonate="no"/>
在InstallDebian
之后调用 InstallFiles
。我也尝试过WixQuietExec
,CAQuietExec64
,CAQuietExec
解决方法
impersonate="yes"
为我修复了它,似乎当用户为SYSTEM时debian.exe无法正确运行