1

I want to create a MSI file, which simply copies a directory into the "Program Files" directory and creates an icon in the start menu.

Nothing more. No questions to the user, no dependencies, no registry entries, etc. Just copy the directory and set the icon.

And if we deploy a new version of our program, then the MSI should just copy the new one over the old one. No "uninstalling" procedure.

Which tool to use for this task?

askolotl
  • 964
  • 1
  • 13
  • 27

2 Answers2

4

I guess the answer is any common tool, since they can all do this. Here is a list of (arguably) the most common tools.

See linked answer on top for direct download links.


Silent Install: Any MSI file can be run silently (without a GUI) by means of a standard msiexec.exe command line:

msiexec.exe /I "C:\Your.msi" /QN /L*V "C:\msilog.log"

Quick Parameter Explanation:

/I = run install sequence
/QN = run completely silently
/L*V "C:\msilog.log" = verbose logging at specified path
Stein Åsmul
  • 39,960
  • 25
  • 91
  • 164
  • 1
    The [WiX Toolset Tutorial](https://www.firegiant.com/wix/tutorial/) is a good resource for getting started with WiX. – mcdon Aug 28 '18 at 13:44
  • Thanks a lot for your comprehensive answer! I'm currently having a look on all the tools mentioned by you and the other answer! – askolotl Aug 31 '18 at 07:29
  • Finally the ADVANCED INSTALLER (even the freeware edition!) did the job! Thanks! It works like a charm, exactly what I wanted. I also tried WiX, but this is much too complicated. – askolotl Apr 08 '19 at 11:19
2

Just to extend on Stein's answer, with the free edition("Simple" projects only) of Advanced Installer you can build this simple package.

After you create the project just go to Product Details page and disable the option that says "Register with Windows Installer".

Most likely all of the tools mentioned above have a similar option, you just need to search it as I am not that familiar with all their ins and outs (P.S. I work on the team building Advanced Installer).

Bogdan Mitrache
  • 10,536
  • 19
  • 34
  • 1
    I am not sure he wants to disable Windows Installer registration, but maybe he does? I thought he said he had no actual registry entries of his own. But perhaps this no-registration approach is better for his simple requirements? If not, he needs to set up a basic major upgrade - and by the looks of it this happens auto-magically in the simple project type? – Stein Åsmul Aug 29 '18 at 19:00
  • 1
    Well, that is what I understood by "simply copying" and "no uninstalling", and I've seen this request before from our users. Regarding the auto-upgrade, yes, it happens "auto-magically" in all project types, the user just needs to increase the version in Product Details page. – Bogdan Mitrache Aug 30 '18 at 06:57
  • 1
    Yes, maybe that is what he needs. It looks like he wants to suppress the GUI as well though - now that I read it again. I will add a quick hint on how to suppress it. Tried that version update. Quite neat. Does the trick. – Stein Åsmul Aug 30 '18 at 09:06
  • Thanks a lot, I will try this tool, too! Disabling "Register with Windows Installer" is something which I even didn't think of. @SteinÅsmul We have a .net cleint which connects to sql server. User configuration is stored in the database. The desktop environment, connection strings and .net libraries is the same on all computers, so we want it as simple as possible - just copy the client files to "Program Files" and that's it. – askolotl Aug 31 '18 at 07:31
  • 1
    Just installing in silent mode with a simple MSI should be all you need then I think. – Stein Åsmul Aug 31 '18 at 07:49