我在Windows 7上使用Visual Studio 2010,并在c#中使用visual studio附带的安装项目(msi)开发Windows窗体应用程序。
我添加了自定义操作:
protected override void OnCommitted(IDictionary savedState)
{
base.OnCommitted(savedState);
Process.Start(@"Path");
}
但是当我的应用程序启动时,它以用户“NTSYSTEM”开头。我希望它从登录的Windows用户帐户开始。
我该如何管理?
谢谢。
答案 0 :(得分:1)
3个可行的解决方案:
1)通过advapi32.dll使用您想要的任何用户登录应用程序,这要求您知道用户登录或输入用户。
2)甚至更粗糙,您可以使用runas来运行应用程序,然后再次用户输入用户名和密码,或者您执行此操作。
3)您将应用程序置于计算机上的自动启动中(可能强制重启?),它将在重启时在用户上下文中运行。
答案 1 :(得分:0)
我解决了......
添加了一个javascript,用于在安装项目的Post-Build属性中运行程序,它以用户而非系统的形式启动。