views:

173

answers:

4

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?

+2  A: 

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.

Sander Versluys
The readme.txt is a good suggestion. Thanks. Whatever I decide to do, I will include also a readme. About the conventions, the problem is that for my users there is no such convention. They are the kind of people that always double-click likns on web pages and I doubt they all know what a '.exe' is.
Sergio Acosta
+4  A: 

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.

nickf
I never considered shortcuts, duh!. All I have to do is place a shortcut to the real setup.exe in the CD root. =)
Sergio Acosta
yep! and you can name it "CLICK HERE TO INSTALL" :)
nickf
+1 simplicity rulez.
Mehrdad Afshari
that's idd even simpler! +1
Sander Versluys
I think we all failed at basic Windows shortcuts 101. Shorcuts paths in Windows are always absolute. How do you make a shortcut that works when the drive letter changes? You can't. =(
Sergio Acosta
The solution is placing an absoult path shortcut to cmd.exe, that in turns, allows relative command line args.
Sergio Acosta
thanks for the edit sergio! yay for actually using SO how it was intended. Good work.
nickf
+1  A: 

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.

MaxVT
+2  A: 

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

TomA
Good suggestion, thanks. I will try to have that on the CD label!
Sergio Acosta