Visual studio 2012 WiX安装程序-如何确定已在Visual Studio 2012中安装NuGet软件包管理器?
我有一个基于WiX技术的自定义安装程序,它将三个.vsix包安装到Visual Studio 2012/2013中。其中一个软件包是PostSharp,它需要已经安装在Visual Studio中的NuGet软件包管理器。问题是VisualStudio2013默认有NuGet包管理器,而VisualStudio2012没有 因此,我需要检测Visual Studio中是否已经安装了NuGet Package Manager,如果没有,请在我的自定义安装程序中安装此包(.vsix) 在WiX中可能吗?是的,下载,并在您的WiX项目中引用:Visual studio 2012 WiX安装程序-如何确定已在Visual Studio 2012中安装NuGet软件包管理器?,visual-studio-2012,wix,nuget,Visual Studio 2012,Wix,Nuget,我有一个基于WiX技术的自定义安装程序,它将三个.vsix包安装到Visual Studio 2012/2013中。其中一个软件包是PostSharp,它需要已经安装在Visual Studio中的NuGet软件包管理器。问题是VisualStudio2013默认有NuGet包管理器,而VisualStudio2012没有 因此,我需要检测Visual Studio中是否已经安装了NuGet Package Manager,如果没有,请在我的自定义安装程序中安装此包(.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>
就检测而言,我相信这种方法会自动发生。试一试,然后返回报告:-)我的直觉是不将其编写到安装程序中,而是将其作为prereq可再发行文件编写到引导程序中。@ChristopherPaint:这是可以做到的,但我认为这将涉及到查找
NugetPackageManager
的实际.msi/.exe版本(不确定这项任务有多难)。如果它是*.exe,您还需要创建某种“是否已安装nuget package manager”条件。@ChrisEelmaa:是的,它可以工作,但有一些小的更改:首先-我们需要包含Target=“integratedShell”属性,因为如果指定了TargetVersion属性,则它是必需的(我特别没有使用特定版本的Visual Studio,因为我们的客户可以使用专业版或高级版)。第二,如果客户的计算机上已经安装了NugetPackageManager,我使用Vital=“no”属性继续安装过程。
xmlns:VSExtension="http://schemas.microsoft.com/wix/VSExtension"