安装后启动安装程序启动但无法访问网络驱动器

时间:2013-10-10 09:27:59

标签: .net windows-installer

我正在使用Windows Installer分发桌面应用程序。在提交中,有一个自定义操作可以启动刚刚安装的应用程序。它似乎运行良好,但启动的应用程序无法看到映射的网络驱动器...如果我退出应用程序并从开始菜单启动它,该应用程序可以看到网络驱动器没有问题。这个应用程序需要从网络上读取...

以下是我在提交操作中使用的代码:

ProcessStartInfo^ proc = gcnew ProcessStartInfo();
proc->UseShellExecute = true;
proc->FileName=mytargetdir + "program.exe";
try
{

    Process::Start(proc);

}
catch(Exception^ e)
{
    // Do nothing and return directly ...
}

我假设我需要向流程提供当前用户凭据,但我不知道它们是一个小修道院。我可以使用Environment获取当前用户和域但是密码怎么样??

如何通过访问网络启动应用程序?

1 个答案:

答案 0 :(得分:1)

在提交执行中被调度它可能是作为SYSTEM启动的,它没有 与启动安装的用户具有相同的权限。更好的设计是在完成的对话框上有一个复选框,询问用户是否要启动应用程序,并在选中并且用户单击关闭时执行此操作。这样,它就像用户一样从UI序列启动。

你没有提到你正在使用哪种工具,但我猜这是微软在VS2012中杀死的那种可怕的工具,成千上万的人抱怨UserVoice将它带回来。他们都没有理解像你现在面临的问题那样导致微软杀死它的问题。

你可以在这里找到他们(Visual Studio Installer > How To Launch App at End of Installer)来回答你的问题但是尽管投票数很多,但这是错误的。