views:

95

answers:

3

I create silent software installation packages for customers. This is pretty straight forward if the installation is a simple file dump, or add service and start; but a lot more difficult if customer instructions (and payload media), are gui based - 'run setup.exe, click next, enter text...'etc...

So I have been investigating the use of the autoit utility, which enables the installation to proceed as a gui (i.e. exactly as instructed by customer installation instructions), but with all actions performed automatically. However, as far as I can tell, in order to run the gui autoit script, someone with appropriate permissions needs to be logged on to the server.

I need a method to enable the gui script above to run, without any user actually being logged onto the server - similar to the script running as a service. Developing the installation package, delivering the media and installation scripts, then making the call isn't an issue. Getting the script to run through to completion without a user logging onto the server and starting the whole thing off, is.

To more closely look at the issue, I created a simple script to open notepad, enter some text, then save and close...

I have tried: running the script as a service which can 'interact with desktop' - notepad is displayed, but no keystrokes can be sent and the script hangs.

I am investigating to see if it is possible to raise a vncserver session, then export display (similar to unix varients), when I came across this excellent site...

Does anyone know of a method where interactive gui scripts may be raised on a server (e.g. win 2003), where no users are currently logged on at the time?

Thanks

A: 

I don't think what you want to do is possible.
You really need to make your installations silent, meaning they can NOT require user input, even not automated.

fretje
A: 

Most installation packages have a -silent flag that will perform the default installation. It would yield an installation similar to if a user clicked "next" for every step of the process. Just provide proper defaults.

Soviut
A: 

If you have a choice of technologies to use, you could use an InstallShield InstallScript installation. It allows you to create a GUI-based installation and then record keystrokes/input to the GUI in a "response file": e.g. SETUP.EXE -r -f1"file.iss". Then you later can run the installation silently and unattended like: SETUP.EXE -s -f1"file.iss". I do this via a "scheduled task" on Server 2003 with no one logged on, and it works fine.

William Leara