0

我们使用一个 msi 来安装我们的程序。我们有类似于以下的自定义安装代码:

 using System;
 using System.Configuration.Install;

[RunInstaller(true)]
public partial class Installer1 : Installer
{

    protected override void OnAfterInstall(IDictionary savedState)
    {
        base.OnAfterInstall(savedState);
        MyProgram.Start();
    }
}

问题是程序将以 SYSTEM 用户身份启动,因为 msiexec 以 SYSTEM 身份运行。是否有一种明智的方法可以让程序以最初执行 msi 而不是 SYSTEM 的用户身份启动?

4

1 回答 1

1

看看这篇关于如何在安装结束时启动非提升进程的文章

在安装结束时启动非提升进程

另一种选择是执行以下操作

要在安装完成后运行任何应用程序,请右键单击您的安装项目,单击自定义操作。然后右键单击提交,添加自定义操作,然后选择您要运行的文件。请注意,它必须已经在您的应用程序文件夹中,这在您的情况下应该不是问题,因为您无论如何都在运行您的程序。只需选择项目的输出。

然后,单击这个添加的 .exe,并将 InstallerClass 更改为 false。这是至关重要的,因为否则它将寻找安装程序。

于 2012-11-29T01:03:36.100 回答