这里的问题很简单:如何在 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 的许可费用……)这必须是一个非常有说服力的解决方案才能让管理层考虑这一点,但如果它看起来不错,我会尝试为它辩护。
答案1
我想到两个选择:
设置在 TortoiseSVN 安装期间创建的目录和注册表项的权限,使得不应看到 TortoiseSVN 的 shell 扩展的用户没有读取权限。
在现有硬件上用两个虚拟 XenApp 服务器替换物理 XenApp 安装。仅在其中一个上安装 TortoiseSVN。
答案2
如果您想放入资源管理器扩展,App-V 将无法工作。我不熟悉 TortoiseSVN,它是否有一个可以运行的主 exe?如果有,您可以向 exe 添加一个安全组,以便只有该组中的用户才能查看/运行它(删除所有人)吗?这意味着您将能够向许可部门证明您正在限制对它的访问。扩展可能仍会显示在所有用户的资源管理器中,但除非用户在该组中,否则将无法使用。