jan*_*000 4 prerequisites visual-c++-2012
我需要添加Visual C++ 2012 Redestribution (x86)
为我所用VS 2016中创建一个安装程序的先决条件,但为了做到这一点我必须创建product.xml
沿package.xml
bootsrapper文件夹中.很多帖子建议Bootstrapper Manifest Generator
用来生成这些xml文件.但是微软现在已经存档了该工具,因此我没有生成文件的工具.
有什么方法可以Visual C++ 2012 Redestribution (x86)
为我的安装程序提供先决条件吗?
我已经回答了类似的问题为visual studio 2015添加先决条件.但我会再次发布答案,以防其他问题被删除或链接无法使用.
我将解释我用于添加
Microsoft C++ 2013 x86
到Visual Studio 2015
文件夹中的步骤(您的案例中的步骤将类似).首先导航到
C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\
文件夹(对于以前版本Visual Studio
或自定义路径,这可能不同).找到
Packages
文件夹后,您可以通过创建一个名为vc_redist_2013_x86
(在您的情况下vc_redist_2010_x86
)的新文件夹来开始.从Microsoft站点下载Redistribution包并将其放在此文件夹中.您可以从下载版本2013 在这里和2010年的x86来自这里.现在将文件从
vcredist_x86
文件夹复制到您的文件夹(它应该是一个product.xml文件和一个带有package.xml文件的en文件夹).现在删除它们的只读标志并在任何文本编辑器中打开.如果
product.xml
你应该更换以下内容:
- ProductCode to:"Microsoft.Visual.C++.12.0.x86"(你将拥有C++.10.0.x86)
- PackageFile Name ="vcredist_x86.exe"将被命名为您从Microsoft站点下载的可执行文件.
- 需要根据exe文件之一更改PublicKey.要找到它,您必须执行以下步骤:
- 右键单击exe文件(在我的情况下是vcredist.exe)
- 选择'属性'
- 选择'数字签名'
- 选择顶部签名(sha1)
- 按'详情'
- 按'查看证书'
- 选择'详情选项卡'
- 选择"公钥"
- 从下面复制值,删除空格后,您有搜索到的值
- MsiProductCheck产品需要更改为您的版本.我能找到这个答案与所需的值.对于2013 x86,您的产品是
{f65db027-aff3-4070-886a-0d87064aabb1}
2010年x86{1D5E3C0FEDA1E123187686FED06E995A}
.保存文件并移至该
package.xml
文件.在这里,您必须将'Visual C++"14"替换为您使用的版本.我用'Microsoft Visual C++ 2013 Redistributable(x86)'替换它.完成此步骤后.您应该可以
Microsoft Visual C++ 2013 Redistributable (x86)
在您的"先决条件"列表中看到Visual Studio 2015
.我将发布下面的两个文件,以防您需要一个可以处理的模型.
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>
Run Code Online (Sandbox Code Playgroud)
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&clcid=0x409</String>
</Strings>
</Package>
Run Code Online (Sandbox Code Playgroud)
希望它有所帮助,并且很容易遵循这个漫长的过程.