Question

I need suggestions about a setup CD layout for non technical users.

My software is deployed on a CD with a setup.exe bootstrapper and a MSI file. There are also several dependency files used by the installer. The CD root looks something like this:

myapp.msi
setup.exe
sqlexpr32.exe
dotnetfx.exe
myapp.ico
...

It is not rocket science for a developer guessing that the file you need to run in order to begin the installation is setup.exe.

But my users are definitely not as tech-savvy.

I have included an autorun.inf file, but I have found after testing in several machines that most of them do not automatically launch the setup. For whatever reason. In some machines somebody has disabled autorun, or some antivirus software, or whatever. The thing is that I cannot rely on autorun being available at all times.

So I'm thinking making changes to the CD layout in order to make more obvious which file has to be run.

One option is to make a new Install.exe program that just launches the original bootstrapper, and moving everything to a folder in the root of the CD:

autorun.inf   <-- launches Install.exe, if autorun is enabled for the drive.
Install.exe   <-- launches contents/setup.exe
contents/myapp.msi
contents/setup.exe
contents/sqlexpr32.exe
contents/dotnetfx.exe
contents/myapp.ico
contents/...

As I cannot yet rely on the .net framework being present, I cannot use .net to make my Install.exe and that is kind of annoying.

Other option is making a Install.bat but most users are not familiar with the .bat extension and might not think about double-clicking it. And the user would see a command prompt window.

Other option is making a self-extracting exe and compressing everything inside, so the only files in the CD would be the autorun.inf and the self-extracting file.

What would you do?

Was it helpful?

Solution

Other option is making a Install.bat but most users are not familiar with the .bat extension and might not think about double-clicking it. And the user would see a command prompt window.

You could create a shortcut to the Install.bat and give it a pretty icon and a nicer name. You can also make it start minimised, so they probably wouldn't notice the command prompt appearing briefly.


EDIT: (By Sergio Acosta)

I found out how to solve the relative path issue:

This is how the shortcut should be configured:

Target:    %windir%\system32\cmd.exe "/C start contents\setup.exe"
Start in:  %cd%
Run:       Minimized
Icon:      %SystemRoot%\system32\SHELL32.dll (and manually select the one that looks like a setup package.

I have tested it and it works.

OTHER TIPS

Keep it simple, instead of thinking to much of the layout, go by conventions and leave the setup.exe or install.exe and provide a README.txt file where they can find installation instructions. Most users will choose install.exe or setup.exe and other will probably read the txt.

Put a big sticker on the CD that reads "Run Setup.exe".

I think that the simplest option you have mentioned, to make a new Install.exe program that just launches the original bootstrapper, and having nothing else except the Autorun at the root of the CD, is the best choice.

One icon = no options. Can't really do better than this.

Though I like the solution with the shortcuts, it may be an alternative also to use the free "Bat To Exe Converter".
This way your users will see a standard-looking EXE with any custom icon you want. Plus you can configure it to be run invisible so there won't even be a minimized CMD box.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top