PDA

View Full Version : Can i create VC++ 2017 prerequisite in installshield 2013



Janakiram
06-08-2018, 07:10 AM
Hi All,
I am trying to create VC++ 2017 PRQ file in installshield 2013 for my installer.
Can i do that? Or do i need to move to latest installshield whichever has vc++ 2017?.
When i created prq and run the installer i am getting below issue..

"the files for installation requirement Microsoft Visual C++ 2017 Redistributable Package (x64) could not be found. The installation will now stop. This is probably due to failed, or canceled download"

Can someone help pls..or aleast direct me where i can get help

Thanks
Janakiram

Jenifer
06-12-2018, 09:31 AM
Hi Janakiram,

It is possible,you can create.VC++ pre-reqiusite doesn't have any dependency on installshield version.Please verify the web URL you had mentioned,which will be downloaded during run time if it is online URL specific.If it is offline installer setup,make sure you wrap/pack redistributable packages too.



Hope it helps,
Thanks,
Jenifer

Janakiram
06-14-2018, 01:40 AM
Thank you Jenifer for the reply.

Could you please help me with the steps how to do it?
We have vc++ 2017 redistributes already downloaded.

this is the PRQ i have created.

<?xml version="1.0" encoding="UTF-8"?>
<SetupPrereq>
<conditions>
<condition Type="1" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{8D4F7A6D-6B81-3DC8-9C21-6008E4866727}" FileName="" ReturnValue="" Bits="2"></condition>
</conditions>
<operatingsystemconditions>
<operatingsystemcondition MajorVersion="5" MinorVersion="2" PlatformId="2" CSDVersion="" Bits="4" ProductType="1"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="0" PlatformId="2" CSDVersion="" Bits="4" ServicePackMajorMin="2"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="5" MinorVersion="2" PlatformId="2" CSDVersion="" Bits="4" ProductType="2|3"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="1" PlatformId="2" CSDVersion="" Bits="4"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="2" PlatformId="2" CSDVersion="" Bits="4"></operatingsystemcondition>
</operatingsystemconditions>
<files>
<file LocalFile="&lt;ISProductFolder&gt;\SetupPrerequisites\VC 2017 Redist\x64\vc_redist.x64.exe" URL="https://download.microsoft.com/download/a/b/2/ab2cc1b4-d275-4d73-8d1a-23733eb27763/vc_redist.x64.exe" CheckSum="D1C681F0913318BE35B9193F7D2FD898" FileSize="0,15301240"></file>
</files>
<execute file="vc_redist.x64.exe" cmdline="/q" cmdlinesilent="/q" returncodetoreboot="1641,3010"></execute>
<properties Id="{38D3DD9A-7496-422B-9A51-EBBBF116B5F2}" Description="This prerequisite installs the Microsoft Visual C++ 2017 Runtime Libraries (x64)."></properties>
<behavior Reboot="2"></behavior>
</SetupPrereq>

Christoph
06-15-2018, 02:51 AM
Thank you Jenifer for the reply.

Could you please help me with the steps how to do it?
We have vc++ 2017 redistributes already downloaded.

this is the PRQ i have created.

<?xml version="1.0" encoding="UTF-8"?>
<SetupPrereq>
<conditions>
<condition Type="1" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{8D4F7A6D-6B81-3DC8-9C21-6008E4866727}" FileName="" ReturnValue="" Bits="2"></condition>
</conditions>
<operatingsystemconditions>
<operatingsystemcondition MajorVersion="5" MinorVersion="2" PlatformId="2" CSDVersion="" Bits="4" ProductType="1"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="0" PlatformId="2" CSDVersion="" Bits="4" ServicePackMajorMin="2"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="5" MinorVersion="2" PlatformId="2" CSDVersion="" Bits="4" ProductType="2|3"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="1" PlatformId="2" CSDVersion="" Bits="4"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="2" PlatformId="2" CSDVersion="" Bits="4"></operatingsystemcondition>
</operatingsystemconditions>
<files>
<file LocalFile="&lt;ISProductFolder&gt;\SetupPrerequisites\VC 2017 Redist\x64\vc_redist.x64.exe" URL="https://download.microsoft.com/download/a/b/2/ab2cc1b4-d275-4d73-8d1a-23733eb27763/vc_redist.x64.exe" CheckSum="D1C681F0913318BE35B9193F7D2FD898" FileSize="0,15301240"></file>
</files>
<execute file="vc_redist.x64.exe" cmdline="/q" cmdlinesilent="/q" returncodetoreboot="1641,3010"></execute>
<properties Id="{38D3DD9A-7496-422B-9A51-EBBBF116B5F2}" Description="This prerequisite installs the Microsoft Visual C++ 2017 Runtime Libraries (x64)."></properties>
<behavior Reboot="2"></behavior>
</SetupPrereq>

Your check is wrong. Do not test for the uninstall key. This can return unwanted results.
Microsoft releases sometimes a newer version of their 2017 runtimes and they use a different uninstall key. So you will not detect these.

See this example of mine (Runtime 2015). Installshield does it also like this:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SetupPrereq>
<conditions>
<condition Type="32" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VC\Servicing\14.0\RuntimeMinimum" FileName="UpdateVersion" ReturnValue="14.0.24212" Bits="2"/>
</conditions>
<operatingsystemconditions>
<operatingsystemcondition MajorVersion="6" MinorVersion="2" PlatformId="2" CSDVersion="" Bits="4"/>
<operatingsystemcondition MajorVersion="6" MinorVersion="3" PlatformId="2" CSDVersion="" Bits="4"/>
<operatingsystemcondition MajorVersion="10" MinorVersion="0" PlatformId="2" CSDVersion="" Bits="4"/>
</operatingsystemconditions>
<files>
<file LocalFile="&lt;ISProjectFolder&gt;\source\ISPrerequisites\VCRuntime2015\x64\vcredist_x64.exe" CheckSum="27B141AACC2777A82BB3FA9F6E5E5C1C" FileSize="0,14572000"/>
</files>
<execute file="vcredist_x64.exe" cmdline="/q" cmdlinesilent="/q" returncodetoreboot="1641,3010"/>
<properties Id="{22CE8469-77EC-41DE-90A8-EBA9034310E8}" Description="This prerequisite installs the Microsoft Visual C++ 2015 Runtime Libraries (x64)." AltPrqURL="http://saturn.installshield.com/is/prerequisites/Microsoft Visual C++ 2015 Redistributable Package (x64).prq"/>
<behavior Reboot="2"/>
</SetupPrereq>

Jenifer
06-15-2018, 06:16 AM
Hi Janakiram,

I have attached pre-requisite files for both x64 & x86 in .txt format.Do rename it to .prq and give it a try




Hope it helps.


Thanks,
Jenifer

Janakiram
06-20-2018, 02:19 AM
Thank you so much Jenifer.
I have used your prq files and i am able to install in 64 bit machine without any issue.
But i see an issue in 32 bit machine. I tried in my local setup which is windows 10 32 bit. A pop up came that vc++2017 install might have failed and continue with other install. I said yes, But it actually installed my installer along with vc++ 2017.

Thy download url you have mentioned is different from the one i need to use. My requirement is to have vc++ redistributables available under https://visualstudio.microsoft.com/downloads/ the version of these redistributables is 14.13.26020. How do i get the URL and registry key for this?

Jenifer
06-21-2018, 08:38 AM
Thank you so much Jenifer.
I have used your prq files and i am able to install in 64 bit machine without any issue.
But i see an issue in 32 bit machine. I tried in my local setup which is windows 10 32 bit. A pop up came that vc++2017 install might have failed and continue with other install. I said yes, But it actually installed my installer along with vc++ 2017.

Thy download url you have mentioned is different from the one i need to use. My requirement is to have vc++ redistributables available under https://visualstudio.microsoft.com/downloads/ the version of these redistributables is 14.13.26020. How do i get the URL and registry key for this?


Hi Janakiram,

To give you info about how to edit by yourself,

URL-you can copy link by right-clicking on any download button that you want on Microsoft's web-page
Registry value-you can search string(VC++ 2017 redist) in your registry(Using regedit.exe based on 32/64-bit OS)in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall and get the exact product code

So that you can update .prq entry as below:

"<condition Type="1" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{e9d78d68-c26c-4da7-9158-99355d8ef3ad}" FileName="" ReturnValue=""/>"

I had attached updated .prq for your reference


Thanks,
Jenifer