Question: I have created a program in Autohotkey, which creates a few shortcut keys that a whole company with 400 people wants to have installed permanently. The way I imagine the program to work is that a shortcut to the program is added to the Start menu under the Startup folder, so it is automatically and transparently started when the computer is started. The program will keep running all day.

I am a freelancer with no access to the IT department, but indirectly I have seen emails that they insist on that I have to create an MSI file in order to roll the program out onto all these computers. The first issue I have with creating an MSI package is that I do not know how an MSI file can be created based on an .EXE file. The second is that they say that it is very costly for them to create such a file (I believe that means that it costs something like 20.000$ to get it done), therefore they do not want to make frequent updates, while I believe it is essential to be able to quickly adjust the program to new needs and fix bugs.

On Wednesday, I will have a meeting with them, and I would therefore like to know what kind of arguments they might have for using MSI packages, and why they could not simply create a shortcut to my .EXE file on all these computers (this should not be too hard, should it?). The shortcut should point to the .EXE file, which is located on a file-server so one can simply replace it to update the program (the computers always have access to the file-servers, meaning that there are no laptops).

What could their arguments be?

Answer: 
The MSI packages are so that they can push out the updates through [SCCM](http://en.wikipedia.org/wiki/System_Center_Configuration_Manager) or other means. Manually pushing out updates or creating is frankly stupid, unless you work with a trivial number of systems - you would need to log into each system, and do it, while not getting in the way of the user.. It also means a single point of failure and its harder to track down bugs

I do believe while there's a time cost, and its non trivial (that is to say there may be some work involved - especially where there isn't an IDE involved that can hook into installer creation), I rather doubt it would cost 20,000 dollars to do - you might want to take a look at [wix](http://wix.codeplex.com/) to better understand the process.

There's of course the possibility this is being imposed on them, and they arn't really happy about the whole thing and having to maintain a bit of special purpose software developed by some outsider...
I work at a Fortune 25 Company here in the US. I do application package - This answer is probably a little late though - We require all application to be self installing so we can push them to user work station silently via Altiris. While we prefer all software installers in MSI format this is not always the case, I will use EXE installers if they can run silently via command line or setup.iss file. If not then they will get repackaged to MSI format.

Your type of package would take less than 1 hour to put in MSI & Compile it via Wise Package Studio. Assuming its 1 file & 1 shortcut. It would actually take longer to test & get sign off than actually package it. All packages(Applications) are peer review & tested by the App Requester(app owner).

We have a few apps that are frequently update, like every few weeks or so. Since this would require allot of time to rebuild in MSI & Test every few weeks- we switch these to update themselves. We set these up to run a vb script as the shortcut, the 1st thing the vb script does is query a predefined network share & check the file date/version there against local copy. If network has newer version - than its copied. The the EXE file is ran - simple self updating.