Registry 如何在localAppData位置手动注册通过MSI安装的VSPackage

Registry 如何在localAppData位置手动注册通过MSI安装的VSPackage,registry,vspackage,Registry,Vspackage,我创建了一个VS包,并试图通过MSI安装它。我不想使用.vsix文件,因此将所需文件部署到%localAppData%\Microsoft\VisualStudio\10.0\Extensions。将安装vs软件包,但扩展管理器将软件包显示为[已禁用]。我知道我们应该在注册表中创建一个条目来消除这个问题,但我不确定注册表值的内容 我创建了包含以下内容的.reg文件: [HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Extension

我创建了一个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]\
任何指针都会有帮助。

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