Visual Studio Installer vs regsvr32.exe in deployment

Posted on 2006-04-26
Last Modified: 2008-01-09
If I want to compare these two method of deployment, can anyone give me a detailed one? I concern about the registry , such as size and ease of uninstall. Also I want to know which one is good for frequent deployment. Since my company did the deployment more than 4 times a week. So if it always take too long to deploy, it may not good.

NOTE: It is not a single project deployment, but with more than 50 projects . what we are doing right now is using a batch file to register (regsvr32) each project's dll in silent mode. It is neat enough, but we concern the registry size and consider the VS installer may be kind of a modern style or trend.
Question by:mting923
    LVL 18

    Accepted Solution

    I would suggest you to shift to an extremely powerful yet free and easy installer named Innosetup available at

    Spend some time reading FAQ's at the site and download other very useful yet free 3rd party tools along with Inno. IsTool & Inno Script are must have 3rd party tools with Inno if you ask me.
    LVL 6

    Expert Comment

    I think the best solution of your case is to set up an auto-upgrade system. It should work like that:
    (assume you have a database server and a FTP server)

    1. build a table in your database server, with following columns:
    component_name, component_filename, target_path, need_register_YN, version_number

    2. You should have a main.exe, and an upgrade.exe. When main.exe is started, it should connect to the database server,
    and compare the server component version number with the local version number (stored in an INI file, or Registry, etc.) If any component's server version number > local version number, it activates upgrade.exe, and terminate itself.

    3. Upgrade.exe downloads the newer files from your FTP server, to their taget path. If the component need to be registered, it runs "regsvr32.exe /s" for that component. Then it makes local version numbers = server numbers. Then, it activates main.exe, and terminate itself.

    I made an auto-update system before, and it worked perfectly. Once this system is set up, you will never worry about deploying newer versions of your software. All you need to do is to upload your new files to the FTP server, and update the server version numbers of the table. Then they will be deployed to all client computers automatically.


    Author Comment

    thank you for you guys comment, espscially Sethi. I am looking the Inno setup right now. But I still need to figure out is this software can solve the registry problem? For example, if I did not uninstall yesterday's patch and install today's one ( they will install to the same folders), will it cause any problem on the registry?
    I hope you can help me out. But anyway I am so appreciated that you at least solve my second question already.

    LVL 18

    Expert Comment

    You can surely play around with registry in a powerful manner with Inno. Inno has an excellent forum on itself where you will get answers to any question related to installtion on this earth :-)

    Author Comment

    I can't disagree with you. I will try to get all the answer from there then. Thanks again!
    LVL 18

    Expert Comment

    :-) Thanks.

    Featured Post

    How to improve team productivity

    Quip adds documents, spreadsheets, and tasklists to your Slack experience
    - Elevate ideas to Quip docs
    - Share Quip docs in Slack
    - Get notified of changes to your docs
    - Available on iOS/Android/Desktop/Web
    - Online/Offline

    Join & Write a Comment

    When designing a form there are several BorderStyles to choose from, all of which can be classified as either 'Fixed' or 'Sizable' and I'd guess that 'Fixed Single' or one of the other fixed types is the most popular choice. I assume it's the most p…
    Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
    As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
    Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…

    745 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    14 Experts available now in Live!

    Get 1:1 Help Now