烧伤 - MsiPackage和假冒

时间:2014-12-01 01:36:08

标签: wix burn wix3.7

我有一个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启动应用程序?

1 个答案:

答案 0 :(得分:2)

Burn从提升的帮助程序进程启动每个计算机程序包,因此MSI模拟提升的用户。没有办法告诉MSI冒充其他用户和/或不同的权限。您可以使用WixStandardBootstrapperApplication element的LaunchTarget属性从未加载的刻录过程中启动进程。