安装后使用用户权限运行exe

时间:2011-08-24 14:32:04

标签: c# .net setup-project credentials

我在Windows 7上使用Visual Studio 2010,并在c#中使用visual studio附带的安装项目(msi)开发Windows窗体应用程序。

我添加了自定义操作:

        protected override void OnCommitted(IDictionary savedState)
    {
        base.OnCommitted(savedState);
        Process.Start(@"Path");
    }

但是当我的应用程序启动时,它以用户“NTSYSTEM”开头。我希望它从登录的Windows用户帐户开始。

我该如何管理?

谢谢。

2 个答案:

答案 0 :(得分:1)

3个可行的解决方案:

1)通过advapi32.dll使用您想要的任何用户登录应用程序,这要求您知道用户登录或输入用户。
2)甚至更粗糙,您可以使用runas来运行应用程序,然后再次用户输入用户名和密码,或者您执行此操作。
3)您将应用程序置于计算机上的自动启动中(可能强制重启?),它将在重启时在用户上下文中运行。

答案 1 :(得分:0)

我解决了......

添加了一个javascript,用于在安装项目的Post-Build属性中运行程序,它以用户而非系统的形式启动。