0

我创建了一个 VS 包并尝试通过 MSI 安装它。我不想使用 .vsix 文件,因此将所需文件部署到%localAppData%\Microsoft\VisualStudio\10.0\Extensions. 将安装 vs 包,但扩展管理器将包显示为 [已禁用]。我知道我们应该进入注册表以摆脱这种情况,但我不确定注册表值的内容。

我创建了具有以下内容的 .reg 文件:

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\ExtensionManager\EnabledExtensions]
"MyPackage,1.0.0"=hex(2):25,00,4c,00,6f,00,63,00,61,00,6c,00,41,00,70,00,70,00,44,\
  00,61,00,74,00,61,00,25,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,\
  66,00,74,00,5c,00,56,00,69,00,73,00,75,00,61,00,6c,00,53,00,74,00,75,00,64,\
  00,69,00,6f,00,5c,00,31,00,30,00,2e,00,30,00,5c,00,45,00,78,00,74,00,65,00,\
  6e,00,73,00,69,00,6f,00,6e,00,73,00,5c,00,54,00,68,00,6f,00,6d,00,73,00,6f,\
  00,6e,00,20,00,52,00,65,00,75,00,74,00,65,00,72,00,73,00,5c,00,50,00,72,00,\
  6f,00,70,00,65,00,72,00,74,00,79,00,57,00,69,00,6e,00,64,00,6f,00,77,00,50,\
  00,61,00,63,00,6b,00,61,00,67,00,65,00,5c,00,31,00,2e,00,30,00,5c,00,00,00

然后将此文件导入我的 Visual Studio 安装项目的注册表编辑器中。安装 msi 后对 windows 注册表所做的条目如下所示:

"#%%LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\[Manufacture]\[ProductName]\[Version]\

任何指针都会有所帮助。

4

1 回答 1

1

你的答案可以在这里找到。基本上,您不会自己创建注册表内容 - 名为 RegPkg 的特殊工具会为您执行此操作。首先,创建您的包,即dll。然后使用 RegPkg 从 dll 创建 reg 文件。将 reg 文件导入您的 MSI 项目,用变量替换硬编码路径,然后您就可以开始了。RegPkg 随 Visual Studio SDK 一起提供。

于 2012-04-12T19:15:49.897 回答