我有一個C#應用程序和一個Visual Studio(2010)安裝項目。在我的安裝項目中,我使用InstallAllUsers = True
。另外,我的應用程序需要在啓動時啓動,因此將快捷方式添加到User's Startup Folder
。InstallAllUsers選項如何工作?
因此,我以用戶Bob(從共享)安裝我的應用程序,然後我註銷並以用戶Alice身份登錄。 Alice會得到一個對話:
您嘗試使用的功能位於不可用的網絡資源上。
它提供了安裝MSI的網絡路徑。所以,基本上,它正在尋找愛麗絲無法訪問的共享上的MSI。如果愛麗絲嘗試手動啓動啓動鏈接,則此操作可重複執行。 但是,Alice可以直接從安裝位置啓動exe,這很好。
我不完全理解爲什麼它尋找一個MSI,但我想這是有道理的,一個應用程序不能完全由一個用戶爲其他用戶安裝,所以需要微星完成安裝。
但是,如果是這種情況,那麼我不明白爲什麼MSI只從啓動鏈接啓動時才需要,而不是直接從exe啓動。
我的問題有以下幾個部分:
- 就是我遇到的預期行爲的
InstallAllUsers
選項? - 如果是這樣,我如何確保我的應用程序已完全安裝給所有用戶?
- 是否有必要在本地複製msi,並確保在每個用戶有機會登錄之前它不會被刪除?
我會檢查快捷方式文件並查看它指向的位置。當其他用戶使用該應用程序時,InstallAllUsers不尋找MSI。 – code4life 2012-03-28 21:26:28
兩個用戶的網絡驅動器映射是否相同? – Jetti 2012-03-28 21:34:52
@ code4life,真的嗎?這對我來說是個好消息......不幸的是,快捷鍵幾乎沒有任何信息。在屬性中,它將'Target'(灰色)列爲我的應用程序名稱(不是文件名 - 顯示名稱)。 「目標位置」爲空,「開始」設置爲我應用程序exe的完整路徑(不包括exe,僅包含路徑)。 – Eric 2012-03-28 21:39:32