13

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.

Julien
  • 212
  • 1
  • 18
  • 53
  • 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 Jun 26 '14 at 18:07
  • Are VC++ 2013 Runtime Libraries in there? – Dean Kuga Jun 26 '14 at 18:15
  • 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 Jun 26 '14 at 18:17
  • 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 Jun 26 '14 at 18:28
  • If I do that it wants me to bundle a dozen files including the vc++ 2013 files. There has to be a better way – Julien Jun 26 '14 at 18:33
  • 1
    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 Jul 08 '14 at 12:28
  • I am using http://www.chilkatsoft.com/win32_Framework4.asp. When I deploy my app, the Chilkat DLL errors on some machines unless VC++ 2010 is installed, even with 2013 already as a prereq. – Julien Jul 08 '14 at 14:29

1 Answers1

2

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

Shawn McGough
  • 1,980
  • 2
  • 22
  • 32
  • Can I ask how you tested this? Still doesnt work for me. I am installing onto windows 8.1. – Julien Jul 09 '14 at 18:52
  • It looks like I uploaded the incorrect xml files. I fixed my answer and added screenshots for post-installer confirmation. – Shawn McGough Jul 09 '14 at 20:16
  • interesting. my installer does not install the 2013 either, but my app has no issues with that. trying your new files now – Julien Jul 10 '14 at 14:52