2013-10-10 64 views
0

我正在使用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 ... 
} 

我假設我需要提供當前用戶憑據的過程,但我不可能知道他們是一個priory。我可以通過環境獲取當前用戶和域名,但密碼是什麼...?

如何啓動應用程序訪問網絡?

回答

1

正在提交執行中安排,它可能是作爲SYSTEM啓動的,它與啓動安裝的用戶沒有 相同的權限。更好的設計是在完成的對話框上有一個複選框,詢問用戶是否想要啓動應用程序,並在選中時點擊關閉。這樣它就以用戶的UI順序啓動。

你沒有提及你使用的是哪一種工具,但我會猜測這是微軟在VS2012中殺死的那個可怕的工具,數千人在UserVoice上抱怨把它拿回來。他們都不瞭解像你現在面臨的導致微軟殺死它的問題。

你可以在這裏找到他們(Visual Studio Installer > How To Launch App at End of Installer)回答你的問題,但儘管投票數高,這是錯誤的。

+0

嗯,的確,我使用VS2008中的集成安裝程序類作爲基礎。在安裝和提交階段有一些自定義操作,後來我用orca編輯msi。是的,我想我可以添加一個新的屏幕與啓動代碼,但我可以想象,提交仍然在用戶發起的過程中,當安裝程序啓動......怪異。 – Aznarepse

+0

更多信息:http://www.installsite.org/pages/en/isnews/200108/ VDPROJ的主要問題是它的摘要和密封了許多潛在的細節。這是我使用不同工具來製作我的MSI的真正原因。 –