2011-11-22 190 views
1

在執行VS 2010安裝文件期間,我發現了一個奇怪的問題。安裝程序應該將一些文件複製到當前用戶的App Data中。當我使用管理員權限運行安裝程序時,一切正常。在訪客帳戶上安裝時出現問題。例如,我嘗試在guset帳戶A上安裝應用程序。我必須選擇運行作爲選項。我選擇具有管理員權限的用戶B.安裝後,所有文件都被複制到用戶B的文件夾App Data中,而不是像我預期的那樣......爲什麼?有沒有解決方案?Visual Studio 2010安裝項目問題

回答

1

它被稱爲部署項目,它是過時和破碎的技術 - 我建議使用WIX。那些愚蠢的項目應該一直在Visual Studio中 - 他們甚至不堅持MSI文件應該如何工作的基礎知識。

您無法很好控制的一件事是激活管理員權限所需的高程請求。 WIX可讓您完全控制MSI功能。

我必須選擇運行選項。我選擇具有管理員權限的用戶B.安裝完成後,所有文件 被複制到用戶B的文件夾App Data中,而不是像我預期的那樣......爲什麼?

啊 - 邏輯?你安裝AS USER B - 確定這些文件進入用戶b的文件夾。

一般而言,您需要管理員權限才能安裝softawre。一個gues不能做到這一點。點。安裝是一項棘手的高級特權事情,不適用於沒有計算機權限的人。

安裝程序應該將一些文件複製到當前用戶的應用程序數據中。

每個定義無效。點。正常的安裝運行不應該將任何內容安裝到用戶的應用程序數據中 - 另一個用戶運行該軟件是什麼?軟件可以在啓動時(從共享應用程序數據)進行復制,但NORMAL安裝(不是每個用戶的安裝)應該永遠不會將東西放入用戶的個人AppData文件夾中。這違反了MSI的基本原則。

賽門鐵克對唯一有效的辦法了良好的文檔,以做到這一點(和遺憾,設置proejcts只是不支持高級功能MSI:

http://www.symantec.com/business/support/index?page=content&id=HOWTO4840

由於有這麼一句話:

爲了將文件安裝到每個用戶的配置文件中,必須自行修復該應用程序。

WIX在後類似的答案:

http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/installing-files-to-user-s-application-data-folder-td5377311.html

我假設你don'd每用戶安裝OA)

我還以爲你不按ICE38設置註冊表項(設置警告):

http://msdn.microsoft.com/en-us/library/aa368961%28VS.85%29.aspx

一般來說:不這樣做。用戶AppData可以/應該在用戶啓動應用程序時發生。

+0

TomTom - 它應該是每個用戶安裝和instalator應寫入當前用戶的應用程序數據文件夾一個xml文件,將用作配置 – user1013552

+0

不。不應該。本地應用程序數據文件夾應該包含一個副本,程序應該在首次啓動時從中央mster文件中複製它。其他一切都是嚴重的忽視。 – TomTom