由于我将我的installshield版本从2012 Spring更新到2013,因此我的安装程序不再需要安装Visual C ++可再发行组件包。 我的应用程序是针对x86平台的,这就是为什么我需要在用户的PC上安装vc_redistx86。它与x64和x86 PC的应用程序相同。
因为我现在正在使用Visual Studio 2012更新4,所以我创建了自己的.prq:
<?xml version="1.0" encoding="UTF-8"?>
<SetupPrereq>
<conditions>
<condition Type="1" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{33d1fd90-4274-48a1-9bc1-97e33d9c2d6f}" FileName="" ReturnValue=""></condition>
</conditions>
<operatingsystemconditions>
<operatingsystemcondition MajorVersion="6" MinorVersion="0" PlatformId="2" CSDVersion="" ServicePackMajorMin="2"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="1" PlatformId="2" CSDVersion="" Bits="1" ServicePackMajorMin="1"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="2" PlatformId="2" CSDVersion=""></operatingsystemcondition>
</operatingsystemconditions>
<files>
<file LocalFile="<ISProductFolder>\SetupPrerequisites\VC 2012 Redist\x86\vcredist_up4_x86.exe" URL="http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe" CheckSum="7F52A19ECAF7DB3C163DD164BE3E592E" FileSize="0,6554576"></file>
</files>
<execute file="vcredist_up4_x86.exe" cmdline="/q" cmdlinesilent="/q" returncodetoreboot="1641,3010"></execute>
<properties Id="" Description="This prerequisite installs the Microsoft Visual C++ 2012 Runtime Libraries (x86)." AltPrqURL=""></properties>
<behavior Reboot="2"></behavior>
</SetupPrereq>
当然,我已经为VS2012更新4下载了vc_redist_x86,并放置了\ SetupPrerequisites \ VC 2012 Redist \ x86 \ vcredist_up4_x86.exe
这是对的吗?
答案 0 :(得分:2)
您必须确保.prq文件嵌入正确的操作系统条件才能在每台目标计算机上正确安装。
根据此MSDN Page - Windows versions,您会发现缺少的内容以及需要添加的内容。
例如,这里只是对Windows 7和8 x86版本的要求,如果要在x64上部署,则缺少这种xml条件:
- operatingsystemcondition MajorVersion =“6”MinorVersion =“0”PlatformId =“2”CSDVersion =“”Bits =“4”ServicePackMajorMin =“2”&gt; operatingsystemcondition
干杯:)