13
votes

I have a .Net 4 WPF ClickOnce app that has .NET Framework 4, VC++ 2013 Runtime Libraries and Windows Installer 4.5 as prerequisites.

I now have to add VC++ 2010 Libraries.

I have followed the steps here to create a custom prerequisite package. In visual studio, the package shows up in my prerequisite list. However, the installer is not attempting to install the VC++2010 package.

product.xml

package.xml

I have downloaded the vcredist_x86.exe into the package directory, however I am unsure what to set under "Specify the install location for prerequisites", since I am now mixing custom and default pre-reqs.

Any assistance would be much appreciated!

Edit: I have logged my clickonce installation and see nothing referencing the VC++ package at all. No errors or anything.

1
In the "Publish" tab of the app properties, when you click on the "Application Files" button, what is the "Publish Status" of VC++ 2010 libraries files? I think that should be set to "Prerequisite (Auto)"... - Dean Kuga
Are VC++ 2013 Runtime Libraries in there? - Dean Kuga
no, but that would be downloaded. i don't provide that file, while from what i understand i have to provide the vc++ 2010 file - Julien
If you must provide the VC++ 2010 file than you must select "Download prerequisites from the same location as my application" option in the "Specify the install location for prerequisites" and when you publish your app the prerequisite will be published as well and when the app is installed it should pick it up from there instead of trying to download it from MS... - Dean Kuga
Can you explain more about why you would need to reference both VC++ 2013 & VC++ 2010 Runtime Libraries as prerequisites? My understanding was that VC++ 2013 Runtime supplants the 2010 redist package. Since both are named "vcredist_x86.exe", and located here: "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\vcredist_x86", the installer might be overwriting your VC++ 2010 package. Maybe try removing the VC++ 2013 prerequisite to test? - Shawn McGough

1 Answers

2
votes

The following configurations worked without having to include the package in the deploy.

package.xml package.xml

product.xml product.xml

I placed the files above in a new directory:

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\vcredist_x86-2010\product.xml
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\vcredist_x86-2010\en\package.xml

Note: I did not include the vcredist_x86.exe package anywhere in the bootstrapper directory - it is downloaded during installation.

Prerequisites Dialog

Before the installer is run, on a fresh Windows 8.1 install;

Before install

Prompt for prerequisites;

prompt

After installer, both C++ Runtime Libraries installed;

after install