你能从perMachine WiX软件包中启动一个非提升的应用程序吗?

时间:2015-08-22 02:52:51

标签: installation wix windows-installer installer uac

我们有一个使用WiX 3.9构建的每机器安装包。

<Package InstallerVersion="405" Compressed="yes" InstallScope="perMachine" />

我们还使用WixShellExec作为软件包安装的一部分从CustomAction启动应用程序。

    <Property Id="WixShellExecTarget" Value="[#Application.exe]" />
    <CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />
    <InstallExecuteSequence>
        <Custom Action="LaunchApplication" After="InstallFinalize">NOT Installed</Custom>
    </InstallExecuteSequence>

这将按预期启动我们的应用程序,但它会以提升的权限启动应用程序。

从我们所看到的情况来看,如果没有每台机器安装包的提升权限,就无法启动应用程序。我们尝试了Impersonate="yes|no"Execute="deferred|immediate"的各种组合。我们还尝试直接使用FileKey自定义操作来启动应用程序。

我们正在使用自定义引导程序应用程序,因此无法使用built-in WiX UI围绕此功能。是从我们的自定义引导程序应用程序手动实现我们的应用程序的非高架启动的唯一方法吗?

1 个答案:

答案 0 :(得分:1)

你可以试试这个 - 它来自可靠的来源:

http://blogs.msdn.com/b/oldnewthing/archive/2013/11/18/10468726.aspx