我正在手动处理 VSIX 扩展包的 vsixmanifest,是这样的:
<?xml version="1.0" encoding="utf-8"?>
<Vsix Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
<Identifier Id="c669b00e-3746-47bd-bfe7-e6f9d64458ff">
<Name>RapidDesign</Name>
<Author>ZUI INFRA sp z o. o.</Author>
<Version>2.0.1</Version>
<Description>RapidDesign allows you to use various VisualStudio designers faster.</Description>
<Locale>1033</Locale>
<MoreInfoUrl>http://www.rapiddesignaddin.com</MoreInfoUrl>
<License>EULA.txt</License>
<Icon>Speedometer.png</Icon>
<PreviewImage>RapidDesignPreview.png</PreviewImage>
<InstalledByMsi>false</InstalledByMsi>
<SupportedProducts>
<VisualStudio Version="12.0">
<Edition>Ultimate</Edition>
</VisualStudio>
</SupportedProducts>
<SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.0" />
</Identifier>
<References>
<Reference Id="Microsoft.VisualStudio.MPF" MinVersion="10.0">
<Name>Visual Studio MPF</Name>
</Reference>
</References>
<Content>
<VsPackage>RapidDesign.pkgdef</VsPackage>
</Content>
</Vsix>
有一种方法可以告诉 VSIX 安装程序自动运行 CMD 命令或可执行文件,例如一种安装后步骤?
例如,我想运行/安装一个注册表脚本(.reg 文件),为我配置一些默认扩展选项,但我不知道该过程是否可以从 vsixmanifest 启动控制台命令或先前编程的 EXE 进程自动完成。
vsix 包不应依赖注册表进行设置,有一个特定的 API 来访问 Visual Studio 设置系统。部署后,普通 vsix 包无法调用或启动任何内容。您可以让包本身在首次启动时设置为默认值。
如果在设置过程中确实需要更高级的内容,可以创建.msi
而不是 vsix。需要提取 vsix 并将其内容包含在 Windows 安装程序包中。或者您可以使用WixToolset创建MSI安装程序并使用<VsixInstaller>
元素注册Visual Studio Package,您可以将其他逻辑放在Wix安装程序项目中。