0
votes

I created an installer with burn to install the vcredist_x64.exe and vcredist_x32.exe before my app's msi's.

For vcredist_x64 I was using:

<PackageGroup Id="VD2012Crt">
    <ExePackage
       Name="vcredist_x64.exe"
       DownloadUrl="http://go.microsoft.com/fwlink/?LinkID=266496&amp;clcid=0x409"
       ... etc

However, that URL seems to have stopped working from Micosofts downlaod servers. Maybe they've deprecated it?

I thought the URL was correct as following from this page: http://msdn.microsoft.com/en-us/library/ms235316.aspx, it led me to look for packages here: "%WindowsSdkDir%\Bootstrapper\Packages". In that folder I found this file:

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages\vcredist_x64\en\package.xml

And that contains the URL I'm using.

Do you know of a more appropriate URL? Should I embed vcredist_x64.exe in my installer instead of using a URL, but that would increase the size of my installer which my customer wants to be small?

Thanks.

Related:

1

1 Answers

1
votes

You are very brave to do that. While I completely love reducing installer sizes, I find that it's almost impossible to rely on those microsoft urls - they break. Unless Microsoft has stated it somewhere that this is okay and will not break - I wouldn't hold your breath.

They are both combined 10MB, and if your customer wants to pay for extra work, sure. To actually employ decent scheme:

1) Add multiple vcredistx86 and vcredistx64 urls, I do believe they are mirrored(a little bit of google should do it - mirrored not on Microsoft sites, but other ones).

2) Deploy your own file-server than can EITHER:

  • give out MICROSOFT LATEST URLS that are correct.
  • actually send out the vcredist files itself - you need to consult first though, Microsoft licenses are kind of strict.

Don't forget security, communication between file-server and you should be encrypted. Also, your file-server needs to serve correct "HASHES" of executables, otherwise I can just hijack someone downloading the file and replace it with my keylogger.