2012-04-15 104 views
0

我正在Visual Studio 2010中生成一個用於Microsoft Excel的C#插件的安裝項目。我的插件使用SQLite數據庫,並且此數據庫需要爲使用插件的用戶擁有寫入權限。Visual Studio安裝程序項目將我的數據庫設置爲在使用提升的權限安裝時需要管理員權限

問題是我還需要寫入HKLM和Program Files目錄下的註冊表。要做到這一點,安裝程序必須以提升的權限運行,這不是問題,但是當我這樣做時,數據庫被設置爲需要管理員權限來寫入,這是一個問題,儘管在CommonAppData文件夾中播放需要管理員權限。

是否可以將數據庫設置爲不需要安裝項目中的管理員權限?我有我的處置一起工作:Visual Studio的安裝項目時,InstallShield 2008年和InstallShield 2012

我發現了一個幾乎相同的問題在礦山張貼在這裏:Visual Studio installer project - setting file permission

MSDN的鏈接,但是,死者和其他鏈接僅建議將文件放在不需要提升權限的位置。 (注意:爲了測試的目的,我只是刪除了需要放入程序文件並寫入HKCU的部分文件,以便我可以暫時解決此問題;但是這不是將會適合部署,因爲這將被添加到需要解決這些問題的大得多的項目中。)

回答

0

CommonAppData文件夾是每臺計算機的位置,因此它需要管理員權限。任何可以被多個用戶帳戶訪問的文件夾都需要提升寫入。

AppDataFolder是一個不需要管理員權限但其內容僅適用於當前用戶帳戶。

您可以嘗試在CommonAppData中爲您的自定義文件夾設置權限。也許這篇文章將有所幫助:http://setupanddeployment.com/installation-environment/set-permissions-installation-folder/

+0

謝謝。在我的監督下,我正在查看錯誤的用戶組對文件的權限,導致我認爲普通用戶可能會在數據庫無法寫入時向其寫入數據。 – 2012-04-17 19:46:43

相關問題