我有一个msi,允许用户有条件地启动已安装的应用程序。 msi是使用Wix创建的,包含以下xml语句:
<CustomAction Id='LaunchApplication' FileKey='foo.exe' ExeCommand='' Return="asyncNoWait" Impersonate="yes" />
msi运行升级,但Impersonate选项保证应用程序作为安装用户启动。
使用以下语句将msi包含在我的Burn包中:
<MsiPackage Id="FooMsi" SourceFile="$(var.Installer.TargetPath)" DisplayInternalUI="yes" Vital="yes" Permanent="no" />
但是,在msi运行之前,Burn会被提升,因此以管理员身份运行应用程序。
Burn是否有模拟选项,或者我是否必须从Burn启动应用程序?
答案 0 :(得分:2)
Burn从提升的帮助程序进程启动每个计算机程序包,因此MSI模拟提升的用户。没有办法告诉MSI冒充其他用户和/或不同的权限。您可以使用WixStandardBootstrapperApplication element的LaunchTarget属性从未加载的刻录过程中启动进程。