2011-05-16 73 views
0

我有一個InstallScript安裝程序,它利用幾個組件的動態文件鏈接。這些組件包含標準用戶應該能夠編輯的配置文件。我們最近發現,當這些文件安裝在Windows Server 08上時,權限被設置爲Administrators組的完全訪問權限,但只能讀取&對Users組的執行權限。典型的安裝位置是C:\ programName。如何設置動態鏈接文件的權限?

我已經嘗試在C:\ programName目錄中手動創建新文件作爲管理員(右鍵單擊 - 新文本文件),並使用相同的權限生成它們。我假設這只是新文件的標準權限設置。

在InstallShield中,是否有任何方式爲動態鏈接文件或包含它們的目錄設置權限?

我看了權限設置在

  • 組織 - >組件
  • 應用程序數據 - >文件和文件夾

,但我沒有發現任何東西。有關動態文件鏈接的文檔沒有提及權限。

我們使用InstallShield 2010

回答

1

通常這些權限是件好事;他們從父文件夾繼承。非管理員用戶(包括受限訪問管理員在接受UAC提示之前)應該無法修改Program FilesC:下的文件,因此我建議在您的應用程序中解決這個問題(例如通過使用每個用戶的Documents文件夾)。既然你不談論你爲什麼需要它,很難確定地說這是否適用於你的情況。

如果事實證明,在安裝而不是應用程序中解決此問題是有意義的,則可以使用SetObjectPermissions API以編程方式設置權限。

+0

這看起來像一個可行的解決方案,謝謝。 (我確實意識到規避標準安全策略並不理想,但我不是做出這個決定的人。) – sjohnston 2011-05-17 14:19:37

0

在「文件和文件夾」頁面右鍵單擊該文件或文件夾,選擇屬性點擊權限按鈕。在「權限」對話框中,您可以右鍵單擊名稱列表並使用新的上下文菜單選項添加新的權限。

如果該選項對某個文件不可用,則可以嘗試在父文件夾中對其進行設置。

+0

不幸的是,我在目標計算機的文件夾屬性中看不到「權限」選項。我無法檢查單個文件,因爲它們沒有顯示在文件和文件夾視圖中(它們是在構建安裝程序之前由項目構建生成的)。 – sjohnston 2011-05-17 14:24:20