We have a few programs that need an installer to be created for it. I currently have one made in InnoSetup, but our program has dependencies and therefore I bundle all of those dependencies in the installer. This makes it huge (~280Mb). I need it to be "smart".
So just a simple installer that will work on XP Pre-SP1 through Windows 7. Earlier OS's need not be supported.
The dependencies are:
DirectX [url removed, login to view]
Windows Installer 3.1
The installer should check to see if the dependencies are installed. If not, it should start an autodownload. I can host all these files or they can be pulled direct from Microsoft, I don't care I have bandwidth available.
It needs to be able to update the registry (even with Vista and Win7 so admin privledges should be checked for I suppose). There are 2 keys that should be planted that have the location of the installation.
All standard installer features should be implemented such as choosing a path to install it, choosing whether or not to install certain features, and so on.
Also note that some of the dependencies have dependencies. Such as .NET 2.0 requires XP to have SP2, and also requires Windows Installer 3.1 to install. If any of the dependencies or dependencies of the dependencies don't install, or require something to be installed first, the installer should recognize and do so. So if Windows Installer needs to be installed first, it should install it, reboot and continue installation.
There are 3 programs that need to be placed in the installation directory in seperate folders. One of them needs to be registered as a startup service.
Pretty much everything but the "smart" part with dependencies is already implemented in InnoSetup which you can have as a starting point if you want it. I have attached the current version to this project.
Easy project, I just dont have time to do it myself.