【问题标题】:Add prerequisites to visual studio 2015将先决条件添加到 Visual Studio 2015
【发布时间】:2016-09-07 05:00:49
【问题描述】:

我想向 Visual Studio 2015 添加新的先决条件,但找不到解决方案:

如您所见,Visual Studio 2015 缺少先决条件 Visual C++ 2010 运行时库 (x86) 和 Windows Installer 3.1。我使用的是 Windows 8.1,因此无法安装旧版本的 Visual C++ 运行时库 (x86) 和 Windows Installer。

【问题讨论】:

    标签: visual-studio-2015 prerequisites


    【解决方案1】:

    我也遇到过同样的问题。您应该按照将Bootstrapper packages 添加到您的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 站点下载重新分发包并将其放在此文件夹中。您可以从here 下载2013 版本,从here 下载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 站点下载的可执行文件。
    • PublicKey 需要根据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>
    

    希望它有所帮助,并且很容易遵循这个漫长的过程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-13
      • 2019-10-31
      • 2023-03-17
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多