在Visual Studio 2015中添加先决条件

5
我想在Visual Studio 2015中添加新的先决条件,但找不到解决方案: 在此输入图片描述 正如您所看到的,Visual Studio 2015缺少先决条件Visual C++ 2010 Runtime Library(x86)和Windows Installer 3.1。我正在使用Windows 8.1,因此无法安装旧版本的Visual C++ Runtime Library(x86)和Windows Installer。
1个回答

7
我也遇到了同样的问题。您需要按照将“引导程序包”添加到您的“Visual Studio 2015”文件夹的步骤进行操作。
我将解释我用来添加“Microsoft C++ 2013 x86”的步骤(在您的情况下,步骤类似)。
首先,导航到“C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\”文件夹(对于早期版本的“Visual Studio”或自定义路径,可能会有所不同)。
一旦找到“Packages”文件夹,您可以开始创建一个名为“vc_redist_2013_x86”(在您的情况下是“vc_redist_2010_x86”)的新文件夹。 从Microsoft网站下载再分发包并将其放置在此文件夹中。您可以从这里下载2013版,从这里下载2010 x86版。
现在将文件从 vcredist_x86 复制到您的文件夹中(应该是一个 product.xml 文件和一个带有 package.xml 文件的 en 文件夹)。现在取消它们的只读标志并在任何文本编辑器中打开。
如果是 product.xml,则应替换以下内容:
  • 将ProductCode更改为:"Microsoft.Visual.C++.12.0.x86"(您将拥有C ++ .10.0.x86)
  • PackageFile Name="vcredist_x86.exe"将被命名为您从Microsoft网站下载的可执行文件。
  • 公钥需要根据exe文件进行更改。为了找到它,您需要执行以下步骤:
    • 右键单击exe文件(在我的情况下为vcredist.exe)
    • 选择“属性”
    • 选择“数字签名”
    • 选择顶部签名(sha1)
    • 按“详细信息”
    • 按“查看证书”
    • 选择“详细信息”选项卡
    • 选择“公钥”
    • 从下面复制值,并删除空格后即可获得所需值
  • MsiProductCheck产品需要更改为您版本的产品。我能够找到 this 带有所需值的答案。对于2013 x86,您的产品是{f65db027-aff3-4070-886a-0d87064aabb1},对于2010 x86,产品是{1D5E3C0FEDA1E123187686FED06E995A}

保存文件并移动到package.xml文件。在这里,您需要将“Visual C++“14””替换为您使用的版本。我用“Microsoft Visual C++ 2013 Redistributable (x86)”替换了它。

完成这些步骤后,您应该能够在您的Visual Studio 2015的前提条件列表中看到Microsoft Visual C++ 2013 Redistributable (x86)

如果您需要一个模型,请参考下面的两个文件。

Product.xml

<Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="Microsoft.Visual.C++.12.0.x86">

  <!-- Defines list of files to be copied on build -->
  <PackageFiles CopyAllPackageFiles="false">
    <PackageFile Name="vcredist_x86.exe" HomeSite="VCRedistExe" PublicKey="3082010a028201010096715ded0646fa84cb9d5bb746c7b0e1b4113903adb11573609ceba7b66e1a3c3fff65e334f1a6a5215e56996c58e492a10a5cc2d3dc522f0c659a20614053319c6c8f217dbaf9fe13505260953a5bb958a5746141a994e0ad264e4ca1977049275e7c67ca4f1e718446bc1d4bb6e20fc5c627c907e67a0aa51700194c7045382d81b450aac567d1fa79bcc5cca1729bf4253498f854df123938122fa46ba59a7ec762d1dccfed3d34f8b9df3530baec7932a9e1a9ac554d4c7f4c56c3130b76f107f9cc47acfb88d552a51e28fa3d2dcfcf849886716511cf85c9094486e16fe7b1fcac4044a5a98b233f82499dd596595013591873ff430cad2bd47f3040670203010001" />
  </PackageFiles>

  <InstallChecks>
    <MsiProductCheck Property="VCRedistInstalled" Product="{f65db027-aff3-4070-886a-0d87064aabb1}"/>
  </InstallChecks>

  <!-- Defines how to invoke the setup for the Visual C++ 14.0 redist -->
  <Commands Reboot="Defer">
    <Command PackageFile="vcredist_x86.exe" Arguments=' /q:a '>

      <!-- These checks determine whether the package is to be installed -->
      <InstallConditions>
        <BypassIf Property="VCRedistInstalled" Compare="ValueGreaterThanOrEqualTo" Value="3"/>
        <!-- Block install if user does not have admin privileges -->
        <FailIf Property="AdminUser" Compare="ValueEqualTo" Value="false" String="AdminRequired"/>
        <!-- Block install on Win95 -->
        <FailIf Property="Version9X" Compare="VersionLessThan" Value="4.10" String="InvalidPlatformWin9x"/>
        <!-- Block install on Vista or below -->
        <FailIf Property="VersionNT" Compare="VersionLessThan" Value="6.00" String="InvalidPlatformWinNT"/>
      </InstallConditions>

      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
      </ExitCodes>

    </Command>
  </Commands>
</Product>

Package.xml

<Package
    xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
    Name="DisplayName"
    Culture="Culture"
    >

    <!-- Defines a localizable string table for error messages-->
    <Strings>
        <String Name="DisplayName">Microsoft Visual C++ 2013 Redistributable (x86)</String>
        <String Name="Culture">en</String>
        <String Name="AdminRequired">You do not have the permissions required to install Microsoft Visual C++ 2013 Redistributable (x86). Please contact your administrator.</String>
        <String Name="InvalidPlatformWin9x">Installation of Microsoft Visual C++ 2013 Redistributable (x86) is not supported on Windows 95. Contact your application vendor.</String>
        <String Name="InvalidPlatformWinNT">Installation of Microsoft Visual C++ 2013 Redistributable (x86) is not supported on Windows NT 4.0. Contact your application vendor.</String>
        <String Name="GeneralFailure">A failure occurred attempting to install Microsoft Visual C++ 2013 Redistributable (x86).</String>
        <String Name="VCRedistExe">http://go.microsoft.com/fwlink/?LinkID=800028&amp;clcid=0x409</String>
    </Strings>

</Package>

希望这有所帮助,而且这个冗长的过程很容易跟随。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接