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?

  • 2
    I have to be honest and say my gut is telling me that this is not really the right question for a SU, although it is well thought out. This is more an administration issue, and I am not entirely sure where it will fit to be honest. I am not closing it thought, I will leave it to the community to decide, just raising my concerns. – BinaryMisfit Oct 10 '11 at 8:49
  • If your installation program is pretty simple, and I think it is, then WiX Toolset is a good candidate. Follow the tutorial to get it done. – Alexey Ivanov Oct 10 '11 at 18:45

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.

  • Thank you very much for your answer! My biggest concern is that if it takes less than one hour to package, it sounds like there are a lot more potential sources of error during this process, which increases the risk of failure during the installation process on the client computers. I, therefore, hope that the company will accept a rollout method similar to the one you describe using a VB script or similar. – David Nov 4 '11 at 15:32
  • It is much more difficult building a MSI package for some software you want to use and didn't create than doing so as the developer knowing what is needed where and happens if you do this and that. – Jens Erat Nov 4 '11 at 16:09

The MSI packages are so that they can push out the updates through SCCM 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 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...

  • 3
    well, i'm not hugely familiar with enterprise level software management - i vaguely seem to think running a script via GPO would be an option. I am familiar with how prickly IT folk get when you mess with their workflow, and gut instinct tells me this is the case. – Journeyman Geek Oct 10 '11 at 9:50
  • 3
    .msi's are easier to deploy than .exe files as they normally already contain the install path and such information already in the package and all that needs to happen is the .msi is assigned to the group that needs it. If it was the .exe then there would be a bit more annoyance with getting switches to work (i.e. /s or /silent for a silent install, no user prompt, it just does it). – tombull89 Oct 10 '11 at 15:30
  • 3
    MSI is standard, and IT depts in big companies like it because they do not have to learn how your installation program works. They have everything ready to deploy MSI packages. – Alexey Ivanov Oct 10 '11 at 18:42
  • 4
    MSI is standard, as others have pointed out. IT typically has to deal with at least tens, if not hundreds, of different software packages. I appreciate that you can just pop a batch file together in a few minutes. But if everyone did that it would be hundreds of manhours writing installation scripts, drastically increasing the TCO. – Chris S Oct 10 '11 at 19:21
  • 3
    @JourneymanGeek we "IT Folks" are prickly about messing with our workflows because they have to continue to work on all machines across our whole environment, and we get blamed when they don't. As a result we tend to set pretty rigid requirements to make sure things keep working. One manual process as an exception for your software seems reasonable to you, but it quickly balloons to hundreds of exceptions and thousands of man-hours of ongoing work for an IT department, where you making an MSI is a one-time investment on your end & means our workflows continue to "Just Work". – voretaq7 Oct 10 '11 at 19:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.