No announcement yet.

How does one put a Windows Installer package together

  • Filter
  • Time
  • Show
Clear All
new posts

    How does one put a Windows Installer package together

    I want to put together a Windows Installer package that will place the necessary dll's in the Windows directory and the application\plugin files in the Program Files area and put a magic spell on the registry so it will all work together. I have never done such a task. Has anyone been down this road that would suggest a starting point, references, tools?

    If your project is a VB project and you have the VB6 environment you can use the package and deployment wizard.
    💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products


      This is actually part of my day job. This site is a pretty good place to start. InstallSite

      We actually use InstallShield Admin Studio at work. While it does everything we need, it is far from inexpensive. If you have any questions I'd be glad to offer my assistance.


        I did start at the MS site and downloaded the SDK. That 0.5G was a big bite out of a little laptop. I started looking at it and it seemed to be oriented to considerations for C. I also looked at a couple of the packages I found with a google search and it still was not clear to me what needs to be done. I just downloaded another from the InstallSite link and will look at it a little later.

        I did not bring my documentation with me for the deployment wizard, but I can look at it when I get back home.

        Some specific concerns I have deal with some dll's that are associated with a C runtime and some components (.ocx) that are from other locations. The copyright issues have been resolved, but the technical ones on putting this all together is still ahead of me.

        Does the installer automatically handle putting everyting in the Windows (\Winnt) folders and assure that only the most current versions are retained? Does it do the registration for the components? I assume the deployment wizard will take care of whatever is needed by the VB project, but can it bring in other pieces as well?


          The VB Package and deployment wizard will allow you to select other DLL's to add and to select where you want them installed to.
          Attached Files
          💁‍♂️ Support & Customer Service 🙋‍♂️ Sales Questions 🛒 Shop HomeSeer Products


            The VB Project wizard is decent at basic installs. It should be able to copy/register any of the files you need to their required locations. If your install will require anything more technical than that, I'm not sure if it will work.

            As long as the files you need to put on the PC are of a newer version, they should replace ones already on the PC. Windows Installer will handle that piece automatically for you. It gets a little harder when the files don't have any version information in them.

            BTW, if your target platforms are W2k or higher you should look at side by side registrations. Basically, you keep all the files required for your install in the programs directory and windows will load the correct one for your application. If memory serves me though, I don't think ocx's are supported.


              It looks like this may not be too hard. I'll give it a try next week when I return.


                You also might want to take a look at the nullsoft installer, it is VERY powerful, very nice looking, and very free.

                HSPRO 2.4 (ESXi 4.1) | my.Alert NEW | my.Trigger | HSTouch | ACRF2 | UltraM1G | BLWeather | BLLan | Rover
                (aka xplosiv)
                Do You Cocoon? Home Automation News, Tutorials, Reviews, Forums & Chat


                  Another option is WinInstall LE 2003, which is a free download at the link below. It is a reduced version of the WinInstall that I use at work, LE will not make tranform files but does let you make and edit MSI files.

                  Windows 2000 came with a reduced version of WinInstall, if you have used that editor then WinInstall LE 2003 will look familiar.



                    Using the VB Package wizard to include DLLs and OCXs - who makes sure that the target system does not have a younger version already?


                      I started down the path of least resistance which is the deployment wizard contained in visual studio. It was able to locate most of the system32 dependencies and I manually added the others that I knew about.

                      I could not find any tricks to include an entire folder of files and doing a few hundred 1-by-1 is unreasonably painful.

                      Can I just use winzip to add them to the cab file and edit the setup.lst file to identify them in the load list? Is there an easier way?

                      When I make an update to one of the files can I just use winzip to replace the older one with the newer one in the cab?

                      I'm betting that the installer will look at file versions or dates and not overwrite newer ones. Since I'm building on W2K, there easily could be XP files that are newer on someone's target machine.


                        I use Inno Setup. It's free and allows pre-processing and post-processing scripting. The language is Pascal but it is easy to use the provided samples to do what you need.

                        Using the scripting, I have extended its built-in packaging processing it to compile a VB program (using VB.EXE command line), compile help, and then build package.

                        I recommend installing the package that contains additional tools. An addon for Inno Setup called ISTools is wizard-driven but I ended up with the direct install code manipulation.
                        Jim Doolittle

                        My Twitter
                        My Hardware & Software