场景:锁定(即非管理员用户无法修改)Visual Studio 2013(可以是从Shell到Ultimate的任何版本)安装应 有条件地 加载不可信(所有用户可写)VS扩展(PTVS)。
VS2013构建于.NET 4.5.1之上,并具有相应的devenv.exe.config和安全模型。 PTVS扩展主要是C#.NET DLL。
我的初步想法 - 关于如何实施/是否可能/潜在问题的任何意见:
仅在Visual Studio找到特定环境变量时才加载不受信任的扩展名
检查理想情况下是“轻量级”,例如某种devenv.exe.config条件,
或许某种方式将受信任/检查VSIX“链接”到不受信任的扩展名。
建议正在加载的扩展名aborts sans变量没有帮助 - 重点是该扩展名不受信任。
(任何其他易于控制的环境标志的方式在注销/登录时都不会持久 - 同样可以接受 - 例如我可以寻找一个我知道只在不受信任的情况下运行的过程 - 无论如何看起来更难)。
对于好奇: