首页 文章

WiX安装程序 - 如何确定Visual Studio 2012中是否已安装NuGet包管理器?

提问于
浏览
0

我有一个基于WiX技术的自定义安装程序,它在Visual Studio 2012/2013中安装了三个.vsix软件包 . 其中一个软件包是PostSharp - 它需要在Visual Studio中安装NuGet软件包管理器 . 问题是Visual Studio 2013默认具有NuGet包管理器,但Visual Studio 2012没有 .

所以,我需要检测已经安装在Visual Studio中的NuGet包管理器,如果没有 - 在我的自定义安装程序中安装此包(.vsix) .

在WiX中有可能吗?

1 回答

  • 1

    是的,下载NugetPackageManager.vsix,并在您的WiX项目中引用它:

    <Component Id="VSPackageComponent" Guid="E54DBAAF-4961-492C-AA8A-FFE3C4C77BA3">
          <VSExtension:VsixPackage File="VsPackageInstaller"
                                   TargetVersion="11.0" <!-- VS2012 -->
                                   PackageId="8cc311e8-5f48-4816-b1ee-6c873fe0dc71"
                                   Vital="yes" Permanent="no" />
          <File Id="VsPackageInstaller" Name="NugetPackageManager.vsix"
                                        Source="NugetPackageManager.vsix"/>
    </Component>
    

    神奇的是VsixPackage做安装 .

    您将需要引用此DLL: C:\Program Files (x86)\WiX Toolset v3.8\bin\WixVSExtension.dll ,并在您的wxs文件中声明此架构:

    xmlns:VSExtension="http://schemas.microsoft.com/wix/VSExtension"
    

    就检测而言 - 我相信这应该通过这种方法自动发生 . 试一试,并报告回来:-)

相关问题