We’ve been using InnoSetup and we love it, BUT there is one thing that we have no been able to do.
We have a general purpose installer that installs everything, but we also want it to be an updater. Innosetup has a “privilegerequired” directive that can NOT be changed on the fly, with parameters, or with any kind of control structure.
We need to be able to create an installer that we can pass parameters to that allows us to change this type of setting so we can just update the application and NOT require elevated privileges. The problem with Inno is if you set it to “lowest” privileges, you get an error and they are NOT an administrator if you are doing the initial install where it needs to do more than just update the program.
And the problem with the “administrator” setting is that if you just want to do an update, you still need to have administrator privileges.
Have you looked at Advanced Installer yet?
Advanced Installer is very feature rich, and should be able to do everything you need it to. I haven’t used Advanced Installer myself, but the last time I looked at Advanced Installer, it looked impressive and well geared for larger install projects.
How do you update an app without admin privileges? It’s really no different than an install.
With our current installer app, it installs everything over and over again. They install the app, then when they check for updates through our application, if it finds a new version, it just runs the installer in silent mode and does a complete re-install. The initial installation requires admin privileges and no one has a problem with that.
However, with the update, the uses would like to give their users specific rights to certain folders and not require them to have administrative rights just to run the update. If they have given their users those rights and we set the privileges required in the installer app to LOWEST, then it works without any problem. But we don’t want to have to build a separate update installer just for updates. If there was a parameter that we could pass to our Innosetup installer app that says run with privileges required to “ADMIN” or run with the privileges required to “LOWEST”, then all would be good, but you can’t. The privileges required directive is set in your Innosetup script and can’t be changed with a parameter. Further we have found no other way to deal with users who have domain servers that do NOT want to give their users admin privileges just to run our apps. And… they don’t want to have to run around and update them all the time.
So we’re looking for a different installer that allows you to change that parameter on the fly so to speak.
I hope you can find what you are looking for. I dont know of any commercial installer that can do that.
We may be going a different way. We just found the “Runas” shell command that might work for us.
I’ve been using DeployMaster for years (http://www.deploymaster.com) with total satisfaction.
Bytessence Install Maker
I have posted it here. There is the link to the side and some additional information