gpt4 book ai didi

prerequisites - 添加 Visual C++ 2012 重新分发 (x86) 作为先决条件(自定义先决条件)

转载 作者:行者123 更新时间:2023-12-04 23:41:56 24 4
gpt4 key购买 nike

我需要添加 Visual C++ 2012 Redestribution (x86)作为我使用 VS 2016 创建的安装程序的先决条件。但为了做到这一点,我必须创建 product.xml连同 package.xml在 bootstrap 文件夹中。许多帖子建议使用Bootstrapper Manifest Generator生成这些xml文件。但是微软现在已经归档了该工具,因此我没有生成文件的工具。

有什么办法可以让我Visual C++ 2012 Redestribution (x86)我的安装程序的先决条件?

最佳答案

我已经回答过类似的问题 Add prerequisites to visual studio 2015 .但我会再次发布答案,以防其他问题被删除或链接不可用。

I'll explain the step used by me to add Microsoft C++ 2013 x86 into Visual Studio 2015 folder (the steps in your case would be similar).

First navigate to C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\ folder (for previous versions of Visual Studio or custom paths this can be different).

Once located the Packages folder you can start by creating a new folder called vc_redist_2013_x86 (in your case vc_redist_2010_x86). Download the Redistribution package from Microsoft site and place it in this folder. You can download the 2013 version from here and 2010 x86 from here.

Now copy the files from the vcredist_x86 to your folder (it should be a product.xml file and a en folder with a package.xml file). Now remove them the read-only flag and open in any text editor.

In case of the product.xml you should replace the following:

  • ProductCode to: "Microsoft.Visual.C++.12.0.x86" (you will have C++.10.0.x86)
  • PackageFile Name="vcredist_x86.exe" will be named as the executable file that you've downloaded from Microsoft site.
  • PublicKey needs to be changed according to the one of the exe file. In order to find it you have to do the following steps:
    • right click the exe-file (in my case vcredist.exe)
    • choose 'properties'
    • select 'digital-signatures'
    • select the top signature (sha1)
    • press 'Details'
    • press 'View Certificate'
    • select 'Details tab'
    • select 'Public Key'
    • copy value from below and after removing spaces you have the searched value
  • MsiProductCheck Product needs to be changed to the one for your version. I was able to find this answer with the desired value. For 2013 x86 your Product is {f65db027-aff3-4070-886a-0d87064aabb1} and for 2010 x86 is {1D5E3C0FEDA1E123187686FED06E995A}.

Save file and move to the package.xml file. Here you have to replace the 'Visual C++ "14"' to your used version. I replaced it with 'Microsoft Visual C++ 2013 Redistributable (x86)'.

Once this steps done. You should be able to see the Microsoft Visual C++ 2013 Redistributable (x86) under the Prerequisites list in your Visual Studio 2015.

I'll post the two files below in case you need a model on which to work on.

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>

Hope it helps and it is easy to follow this long process.

关于prerequisites - 添加 Visual C++ 2012 重新分发 (x86) 作为先决条件(自定义先决条件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34851337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com