none
VC++ vcredist_x86.exe parameters

    Question

  • Hi everybody

    Is there a reference guide for vcredist_x86.exe parameters? I've created an installer that runs it optionally (user activates a checkbox) depending if the user has it already installed, it opens the graphic interface that is not really a problem but if it is already installed comes the problem, it asks to repair/uninstall/cancel and most end-users don't know what to do. The same happens if I want to uninstall my program, currently it executes again the vcredist so it asks for repair or uninstall and I want it to uninstall transparently without asking the user or require to make 3 or 4 extra clicks.

    What I want is when I install my package the vcredist is installed without asking the user and if already installed to do NOTHING, I mean not open the repair/uninstall window.

    When uninstalling there's no problem at all, since the vcredist "may" be used by another application so the user can choose to repair, uninstall or cancel. I keep the vcredist_x86.exe in my installation tree because if for some reason/error the user uninstalls it from the control panel they can reinstall it without installing back my whole package, they just run it again.

    My main doubt is if exist some reference for vcredist_x86.exe parameters to adjust them to my installer... I've found posts regarding quiet and silent installation that show a full command line that should be copied, but not a reference of which parameters are available and the syntax to know all the available options and how to use them.

    Thanks for your comments

    Monday, January 12, 2009 8:37 PM

Answers

All replies

  • The VC redisitributables should be installed at all times, the installer will update as needed. This should not be optional.

    The installer is smart enough to figure out of anything needs updating.

    You should also distribute both x86 and x64 and check the windows version to detect if its 32-bit or 64-bit and select the appropriate ones.



    I am a professional developer and I am registered with Microsoft Connect. I am also a vegan. I also do web development. Economics and chess are two of my many interests.
    Monday, January 12, 2009 8:41 PM
  • Hi

    So it should be enough to setup the quiet or silent installation and the user will not be prompted with repair/uninstall question? I don't want the user to worry about this, just to click next and finish... another option is to tell the user to install vcredist before my package but it would be more comfortable to install just one package with no extra questions if it is already installed.

    Thanks

    Monday, January 12, 2009 8:49 PM
  • Yes, it can be installed quietly without worry. You should install it as a prerequisite.

    Best is a single intelligent installer.



    I am a professional developer and I am registered with Microsoft Connect. I am also a vegan. I also do web development. Economics and chess are two of my many interests.
    Monday, January 12, 2009 8:51 PM
  • Vegan Fanatic said:

    The VC redisitributables should be installed at all times, the installer will update as needed. This should not be optional.




    This is simply not true. It is possible to build an application that doesn't require any of the VC redistributables whatsoever.

    I list the usual links that covers this recurring topic:

    How to Deploy C++ Properly
    Deployment (C++)
    How to redistribute the Visual C++ Libraries with your application
    Windows Installer
    Deploying .NET Framework Applications
    Determining Which DLLs to Redistribute
    Monday, January 12, 2009 8:52 PM
  • Brian, that may be so for some cases, but its safer to install it. This way it can be ignored. Most programs need it, so I always install it myself. Better safe than sorry, and installing the redist package will not hurt.


    I am a professional developer and I am registered with Microsoft Connect. I am also a vegan. I also do web development. Economics and chess are two of my many interests.
    Monday, January 12, 2009 8:54 PM
  • Vegan Fanatic said:

    Brian, that may be so for some cases, but its safer to install it.


    Well, that's a matter of opinion. My advice is that it is better to statically link the application. It trivializes the installation, and then one doesn't need to install the redistributables at all. That is even safer.
    • Edited by Brian MuthMVP Monday, January 12, 2009 8:58 PM spelling
    Monday, January 12, 2009 8:57 PM
  • Statically linking everything tends to make applications much larger than needed. The DLL model was developed to relieve bloatitus.
    I am a professional developer and I am registered with Microsoft Connect. I am also a vegan. I also do web development. Economics and chess are two of my many interests.
    Monday, January 12, 2009 8:58 PM
  • Vegan Fanatic said:

    Statically linking everything tends to make applications much larger than needed. The DLL model was developed to relieve bloatitus.

    ...and installing vc_redist_x86.exe installs all the bloat that would otherwise be part of the application, plus more.

    My point is that your claim that vc_redist_x86.exe be installed and "should not be optional" is not sound advice. Better to point out all the options and let the OP decide which is best.

    Monday, January 12, 2009 11:39 PM
  • Look I have been a developer since before the sun burned hot. Run-time libraries are common and were intended to make compact programs. With Windows, that model has changed. Now with the huge amount of funcationality in Windows, programs may need a huge range of added library support.

    For examply a game needs the DirectX run-time, which I also shovel into my distributions. I shovel all kinds of components as my own programs use of a huge number of SDKs. This way I am safe should I add something later. The DirextX installer is only 1 example, the SDK packages are another matter.

    Given the space on a DVD, I shovel it full with everying I can. Better safe than sorry. I even push Windows update nags.


    I am a professional developer and I am registered with Microsoft Connect. I am also a vegan. I also do web development. Economics and chess are two of my many interests.
    Monday, January 12, 2009 11:46 PM
  • Vegan Fanatic said:

    Look I have been a developer since before the sun burned hot.


    Brian isn't exactly a young man...

    And please stop marking every single post you make as a proposed answer, especially when you're making some offtopic rant (which is nearly always). It just confuses the people who actually need help.
    Monday, January 12, 2009 11:50 PM
  • I've had my fill of this fool too.  He marks it answered, I'll delete it as "not an answer".
    Hans Passant.
    Tuesday, January 13, 2009 2:06 AM
    Moderator
  • [...]
    I've found posts regarding quiet and silent installation that show a full command line that should be copied, but not a reference of which parameters are available and the syntax to know all the available options and how to use them.


    Open a cmd window in the directory where vcredist_x86.exe exists and type vcredist_x86.exe /?
    This should give you a reference of which parameters are available.
    Wednesday, April 15, 2009 6:20 PM
  • Vegan Fanatic said:

    Statically linking everything tends to make applications much larger than needed. The DLL model was developed to relieve bloatitus.

    ...and installing vc_redist_x86.exe installs all the bloat that would otherwise be part of the application, plus more.

    My point is that your claim that vc_redist_x86.exe be installed and "should not be optional" is not sound advice. Better to point out all the options and let the OP decide which is best.

    While your overall point may be valid (point out all the options), your supporting logic simply dismisses the argument. The point you were arguing against is that the dynamic dependencies only need to be installed once and used by any who needs it. This saves bloat since otherwise, every application that needs it would need it statically linked in. So for your argument to have any merit, the likely use of these dependencies would be that they would only be used by one application on the system, not many.

    The practical reality is that these common dependencies would likely be used by more than one application; thus by using the dynamic model, the bloat is reduced.

    Wednesday, February 26, 2014 5:41 PM