在 Citrix XenApp 上為特定使用者安裝 TortoiseSVN
這裡的問題很簡單:如何在 Citrix XenApp 上安裝 TortoiseSVN,以便只有特定的人才能看到/使用該程序,而第二組人甚至沒有看到該程序的存在?
在 Citrix 的舊 MetaframeXP 產品下,可以選擇按使用者安裝應用程序。通常,從應用程序控制面板使用系統的“安裝程序”功能會導致 Citrix 伺服器進入為所有使用者註冊已安裝程序的特定模式。如果您不使用此模式,程序將只為執行安裝的使用者帳戶安裝。這允許管理員設置只能由特定使用者使用的程序;其他使用者將看不到該程序,也沒有相應的系統資料庫項。是的,您可以看到已安裝的文件,但它對其他使用者幾乎不起作用。
對於 XenApp 環境,這應該不再是一種選擇。正如管理員為我們的 Citrix 安裝負責系統維護向我解釋的那樣,安裝在 XenAppDesktop 中並用作已發布桌面(未發布應用程序)的程序將對伺服器上的每個人都可見。這就是問題所在:TortoiseSVN 安裝了一個 shell 擴展,因此,所有使用者都可以看到該擴展,而不僅僅是需要訪問它的開發人員或管理員。當我們的非技術最終使用者開始打電話說“當我點擊查看文件時出現了一些奇怪的事情”時,他們只會發瘋。
我們在 WS2003R2/64 上執行 XenApp。
在回答“這是如何使用你所擁有的”以外的其他內容之前,請考慮以下事項:
是的,這是一個商業安裝,這意味著許可證等。
不,此時關閉 Subversion 不是答案。是的,我完全了解 Git/Mercuriual/${Insert-Favorite-DVCS-Here} 的受歡迎程度,以及它們是如何變得更好的無數倍,將使我的洗衣白更白,節省小貓和小狗等。那是無關緊要的;僅僅為了解決這個問題而遷移到不同系統的工作量比僅僅解決這個問題要高幾倍。所以,不,切換後端不是一個可接受的答案。
不,為開發人員添加另一個(昂貴的)Citrix 伺服器也是不可能的。我沒有設定預算,也無法確定哪些錢花在了哪裡。告訴我“只需添加另一台伺服器”類似於我對某個國家的飢餓人口說“只需多吃點食物”。可用的資源是固定的,所以它不是一個選項。
是的,可以考慮使用另一種廉價/免費的遠端訪問解決方案,將 Windows 桌面作為託管服務提供。但是,我找到的最便宜的解決方案仍然在四位數範圍內,這不是我可以與管理層討論批准的問題。短版:如果為 7 名開發人員設置輔助遠端 Windows 桌面的成本超過 25 美元/位,那麼它是不可行的(當然不包括 Windows 的許可費……)它必須是一個非常引人注目的管理解決方案考慮這一點,但如果它看起來不錯,我會嘗試為它辯護。
想到兩個選擇:
- 設置 TortoiseSVN 安裝期間創建的目錄和系統資料庫項的權限,使不應該看到 TortoiseSVN 的 shell 擴展的使用者沒有讀取權限。
- 用現有硬體上的兩個虛擬 XenApp 伺服器替換物理 XenApp 安裝。只在其中一個上安裝 TortoiseSVN。
如果您想放入資源管理器擴展,App-V 將無法工作。我不熟悉 TortoiseSVN,它有執行的主 exe 嗎?如果是這樣,您是否可以向 exe 添加一個安全組,以便只有該組中的使用者才能看到/執行它(刪除所有人)?這意味著您將能夠向許可證明您正在限制對它的訪問。擴展程序可能仍會顯示在所有使用者的資源管理器中,但除非使用者在組中,否則將無法使用。