共用方式為


搭配終端機伺服器使用 Windows Installer

使用終端機伺服器時,下列專案可能會影響 Windows Installer 安裝。 安裝程式開發人員應該一律測試當使用者也使用終端機伺服器時,其 Windows Installer 套件是否如預期般安裝。

  • 在 Windows Server 2008 和 Windows Vista 之前的作業系統上, 必須設定 EnableAdminTSRemote 系統原則,才能讓系統管理員在用戶端會話中執行安裝。 從 Windows Server 2008 和 Windows Vista 開始,EnableAdminTSRemote 原則不再有任何作用。 無論其設定為何,系統管理員和非系統管理員都可以在用戶端會話或主控台會話中執行安裝。 系統管理員和非系統管理員一律可以在主控台會話中執行 Windows Installer 安裝。
  • 如果DisableUserInstalls系統原則設定為 1,Windows Installer 會防止在每個使用者安裝內容中進行安裝。 在此情況下,安裝程式會忽略註冊為每個使用者的所有應用程式,並只搜尋註冊為每部電腦的應用程式。
  • 當系統管理員在裝載于 Windows 2000 的終端機伺服器的用戶端會話中執行安裝時,安裝必須使用 UNC 路徑,而不是對應的磁碟機號。

開發可與終端機伺服器搭配使用的 Windows Installer 元件時,開發人員應遵守下列指導方針。

  • 在登錄的HKCUSoftware部分寫入所有HKCU\ 登錄資訊。
  • 不建議將組態資訊儲存在 INI 檔案中。
  • 第一次執行應用程式,而不是在安裝時間執行時,將每個使用者資訊寫入登錄。 如果您必須在安裝時將個別使用者資訊寫入登錄,請將每個使用者和每部電腦資訊分成不同的 Windows Installer 元件。 撰寫套件,讓安裝程式不會嘗試在安裝應用程式時驗證和修復包含每個使用者資訊的元件。
  • 僅用於每部電腦安裝的套件應該將環境變數寫入電腦的環境,方法是在 [環境資料表] 的 [名稱] 資料行中包含 * 。 如果套件可用於每個使用者安裝或每部電腦安裝,請使用兩個元件。 在 [元件資料表 ] 中包含每個使用者元件,然後在 [環境資料表] 中輸入使用者設定。 在 [元件資料表] 中包含每部電腦群組件,然後在 [環境資料表] 中輸入電腦設定。 根據元件資料表之 [條件] 欄位中 的 ALLUSERS 屬性,控制使用條件陳述式來安裝哪些元件。
  • 從終端機伺服器執行每部電腦安裝時,安裝程式會將每個使用者環境變數寫入HKCU\。預設\環境。 由於終端伺服器不會複寫登錄的這個區段,因此安裝不會設定每個使用者環境變數。
  • 因為伺服器可能會設定為防止使用者修復應用程式,所以您的應用程式應該適當地處理遺失登錄機碼的情況。

當使用 DLL、EXE 或腳本 自訂動作 的 Windows Installer 套件安裝在終端機伺服器上的每部電腦安裝內容時,適用下列情況。 在此情況下,安裝程式會設定 TerminalServer 屬性。

  • 除非動作具有 msidbCustomActionTypeTSAware 屬性,否則延後自訂動作會在本機系統的內容中執行。 即使自訂動作模擬不是終端伺服器的系統上的使用者,也是如此。 請注意,如果具有 msidbCustomActionTypeTSAware 屬性的自訂動作變更使用者的登錄,安裝程式不會自動確保電腦上每個使用者的登錄中也會進行這些變更。
  • HKCU 登錄區讀取之延後自訂動作中的任何登錄作業,都會看到系統的預設登錄區,而不是目前使用者的登錄區。
  • 安裝程式偵測到寫入HKCU\Software之延後自訂動作中的任何登錄作業,並在下次登入使用者時複製到電腦的每個使用者。
  • 安裝程式或複製不會偵測到HKCU軟體登錄機碼下寫入HKCU\ 之延後自訂動作中的任何登錄作業。

如需詳細資訊,請參閱 Microsoft Windows 軟體發展工具組中的 終端機服務 (SDK) 。

EnableAdminTSRemote

TerminalServer 屬性

RemoteAdminTS 屬性

終端機服務