我的目标是创建一个MSI包,它执行外部安装程序或脚本,而不是其他任何东西,并等待它结束。 我不需要MSI做任何其他事情。
所以我的问题是CMD不会以提升的权限执行。
这是我到目前为止的代码:
<Package Comments='test_exec' Description='test_exec' InstallerVersion='200' Languages='1033' Manufacturer='manufacturer' Platform='x86' InstallPrivileges='elevated' AdminImage='yes' InstallScope='perMachine' />
<Property Id='CMDEXE'>cmd.exe</Property>
<CustomAction Id='LaunchFile' Property='CMDEXE' ExeCommand='cmd' Return='ignore' />
<CustomAction Id='LaunchFile2' Property='CMDEXE' ExeCommand='cmd' Return='ignore' Impersonate='no' Execute='deferred'/>
<!--<Property Id='CMDEXE'>PathTo_PsExec.exe</Property>
<CustomAction Id='LaunchFile' Property='CMDEXE' ExeCommand='-u domain\user -p passw0rd -accepteula cmd /c "whoami /user & pause"' Return='ignore' />-->
<InstallExecuteSequence>
<Custom Action='LaunchFile' Before='InstallInitialize'></Custom>
<Custom Action='LaunchFile2' After='InstallInitialize'></Custom>
</InstallExecuteSequence>
如您所见,我正在尝试启动2个CMD
不幸的是,第二个根本没有执行!
非常感谢任何帮助!