Help - Search - Members - Calendar
Full Version: New wishlist (7.2.0+)
MSFN Forums > Member Contributed Projects > Windows Post-Install Wizard (WPI)

   
Google Internet Forums Unattended CD/DVD Guide
Kelsenellenelvian
Time for a new wishlist!
AlBundy33
I need special "cleanup" commands.
For me cleanup-commands are command to delete shortcuts and move shortcuts or folders inside the startmenu.

I want to enable/disable this feature in wpi before starting the installation.

For example install of WinRAR:
CODE
===================================================================
=== Programmnummer: 23
=== Kategorie     : Toolz
=== Programm      : WinRAR 3.62
=== Größe         : 12 MB
=== Standard      : ja
=== Freeware      : nein
=== Reihenfolge   : 5
===================================================================
INSTALL: "%ROOT%\Anwendungen\Toolz\WinRAR 3.62\wrar362d.exe" -s
INSTALL: "%ROOT%\Tools\7z.exe" x -y -o"%PROGRAMFILES%\WinRAR" "%ROOT%\Anwendungen\Toolz\WinRAR 3.62\rarkey.rar"
CLEANUP: "%ROOT%\Tools\eMove.cmd" "WinRAR" "Toolz"

I can have more cleanup-commands but only need one for WinRAR.
I manage all my commands per application in a file named unattended_*.inf, parse it and create config.js.

The result for winrar looks like this:
CODE
prog[pn]=['WinRAR 3.62'];
uid[pn]=['PRG23'];
desc[pn]=['<div style="padding:5px;"><b style="white-space:nowrap;">kommerziell/Registrierung erforderlich</b><br/><table style="color:black;font-family:\'Courier New\', monospace;font-size:1em;border:none;"><tr><th align="left" nowrap><u>Registrierungungsdaten</u></th></tr><tr><td style="white-space:nowrap;">WinRAR 3.62 Serial: *</td></tr><tr><td style="white-space:nowrap;">* Um WinRAR zu registrieren, muss nur eine der Dateien rarkey.rar</td></tr><tr><td style="white-space:nowrap;">in das WinRAR-Verzeichnis entpackt werden</td></tr></table></div>'];
ordr[pn]=[23];
dflt[pn]=['yes'];
bit64[pn]=['no'];
forc[pn]=['no'];
cat[pn]=['Toolz'];
picf[pn]=['%ROOT%\\Anwendungen\\Toolz\\WinRAR 3.62\\wpi_image.png'];
picw[pn]=['128'];
pich[pn]=['128'];
textl[pn]=['Left'];
cmds[pn]=['"%ROOT%\\Anwendungen\\Toolz\\WinRAR 3.62\\wrar362d.exe" -s','"%ROOT%\\Tools\\7z.exe" x -y -o"%PROGRAMFILES%\\WinRAR" "%ROOT%\\Anwendungen\\Toolz\\WinRAR 3.62\\rarkey.rar"','"%ROOT%\\Tools\\parsecommands.cmd" "%ROOT%\\Anwendungen\\Toolz\\WinRAR 3.62\\unattended_150.inf"'];
pn++;


As you can see the cleanup-commands are executed by the script parsecommands (which parses the unattended*.inf again) as last command during install.

To enable/disable this feature I create a script setWPIenv.cmd at WPI-start where I store the state.
parsecommands.cmd start setWPIenv.cmd and checks if the cleanup-commands should be executed.

Maybe there is a way to integrate such cleanup-commands in WPI and enabled/disable them global in main-WPI-window.

Al
AlBundy33
An option to hide command-line-windows would be very nice.
--> Their should be an option in option-wizard to set a default-value and there should be a button in install-window to set this value again and to show the hidden windows (maybe they need some user-input).
AlBundy33
Little change for install-window
Instead of
command1 success
command2 failure
...

you can display
a status-image (running, install sucess, install failure) followed by the executed command line

If there was an error you can set a tooltip on the error-image to display the error-message.

I think this looks better and with a horizontal-scrollbar it is possible to see the complete command line.

Al
icnocop
Hi.

I would like to request a new feature.

The problem I encountered is described here:

http://www.msfn.org/board/index.php?showtopic=123898

Basically,
I would like to have the ability to use the same iso file for unattended installation as well as manually launching wpi from the iso where LoadDesktopBeforeInstall=true.

Some suggestions for detecting whether the desktop is already loaded or not:
1. scan for running instance of explorer.exe
2. GetDesktopWindow Windows API call

Another suggestion that could meet this requirement is to add another parameter to WPI.hta that can dynamically set this configuration setting.
In this way, WPI.hta can run from both the CD\DVD (LoadDesktopBeforeInstall=false in useroptions.js and run without any command line parameters)
and from RunOnceEx (by maybe using a "/load_desktop_before_install=true" command line parameter)

Thank you very much! smile.gif
mritter
Keep the ideas coming! I am taking notes.

@icnocop: I like your idea for the command line arg. Easy enough to do.

@AlBundy33: Taking notes, not forgetting about you.
engjcowi
Hi

first off to say wow what a wonderful program. brilliant and innovative. a bit late in my praise but better late than never. Ok my suggestion. I often re install win xp on many peoples computer and when i made my first fully unnattended dvd with windows and wpi it was fantastic however. i have set a few small programs to install from wpi once xp install is complete, then for each different computer for different people they all have different software needs. i have multiple copies of xp on my disk. could you have a feature that looks for the computer name and loads a different install profile for each automatically?

thanks
AlBundy33
Installer should display all commands (at least all commands for the current application) - so we know when the current install-process is done.

Al
Kelsenellenelvian
??

You mean the top sestion where it shows the commandline?

Or like shadowed in the main window?


Did you notice in the bottom area where it displays a 1/39 type dealy?
mritter
@engjcowi: That's what multiple Configurations are for.

Options -> General tab -> List of config choices

Enter some names: My Computer,Mom's Computer,Joe's Computer (commas, no spaces at commas)

Check Show mulitple defaults.

Config -> Details -> set as Default for global programs. Assign a Configuration for computer specific programs.

Before install, pick a config and it will check the specific programs automatically.


==============================


@AlBundy33: Not going to do that. Counter at bottom is good enough.
AlBundy33
But I think that the lines with the name "command X" are not really usefull because currently they are used to display the exit-status of the command.
Instead of display
CODE
Applicationname
  command1
  command2
  ...

It would bebetter to display something like this
CODE
Applicationname
   status_image the_command_to_execute
   status_image the_command_to_execute
   status_image the_command_to_execute
Another_Applicationname
   ...

Where always all commands of the current application should be displayed - with the status_image you can display if the are "running", "successfully exited", "exit with failure" or even wait to be executed.

Al
Kelsenellenelvian
I think I get what you mean.
mritter
Al, if you want the entire list of entries to be displayed first so you can scroll up/down, then start the actual install and change the images as it moves through, and show each commands command line, why?

1) Showing the command line has already been made into and option to hide it, so I doubt anyone would want it on each line and wouldn't want a horizontal scroll bar. I don't.

2) Why would I want to look ahead? The whole idea is to be unattended. If I'm going to sit there and watch it, I can see that it is moving and how many items remaining at bottom: 5/25.

3) What's not to get by seeing this:

Adobe Reader
Command 1...

That tells me it is installing that item and will tell me when done.

Show me any installer that shows you a list of files it's going to install before it does it. Not necessary.

4) There are no return codes that mean anything. It is either a success or not. If it gave me any details I would have done it originally.

5) It's not as easy as you think to update the lines. Especially when you throw in a reboot. It took me a while to get the listbox to auto-scroll. Remember, this is JavaScript, not C++, where the API code is well refined and automatic.
AlBundy33
Kel is on the right way. :-)
--> the Sucess and failure after the command should not be displayed if icons are used.

With "return-codes" I meant only to display the return-status of the commands (success or not) - thats all.

Why not show the real commands instead of "command 1".
In an unattended environment it doesn't matter what is displayed - but if you have a look at the installer window it would be nice to see a more usefull information about the current command.
--> Maybe the commandline or the start-time or the execution time (new - start-time) or something else.

For example
You will get much more information if you display something like this
CODE
Microsoft Viewer 2007
    success_icon "%ROOT%\Anwendungen\Microsoft\Microsoft Viewer 2007\wordview_de-de.exe" /quiet
    success_icon "%ROOT%\Anwendungen\Microsoft\Microsoft Viewer 2007\WordViewer2003SP3-KB934736-FullFile-DEU.exe" /Q
    success_icon "%ROOT%\Anwendungen\Microsoft\Microsoft Viewer 2007\office2003-KB934041-FullFile-DEU.exe" /Q
    failure_icon "%ROOT%\Anwendungen\Microsoft\Microsoft Viewer 2007\PowerPointViewer.exe" /quiet
    running_icon "%ROOT%\Anwendungen\Microsoft\Microsoft Viewer 2007\powerpointviewer2007sp1-kb937158-fullfile-de-de.exe" /quiet
    waiting_icon "%ROOT%\Anwendungen\Microsoft\Microsoft Viewer 2007\visioviewer.exe" /quiet
    waiting_icon "%ROOT%\Anwendungen\Microsoft\Microsoft Viewer 2007\visioviewer2007sp1-kb937160-fullfile-de-de.exe" /quiet
    waiting_icon "%ROOT%\Anwendungen\Microsoft\Microsoft Viewer 2007\Microsoft Excel Viewer 2003 1.0.exe" /Q /C:"msiexec -i xlview.msi /passive /norestart /qb ADDLOCAL=ALL REBOOT=ReallySuppress"
    waiting_icon "%ROOT%\Anwendungen\Microsoft\Microsoft Viewer 2007\ExcelViewer2003SP3-KB934737-FullFile-DEU.exe" /Q

instead of this
CODE
Microsoft Viewer 2007
    Command1 success
    Command2 success
    Command3 success
    Command4 failure
    Command5


My idea was to display all commands of the current application (there is no need to see also the next app and der commands) to know where I am and how many commands are left for the current install.

If you can modifiy the list you can also remove the displayed commands of application that are done and set the success/failure-icon before the application-name.
--> so you have above the current applicaion only a list of installed application und below the current application the commands,

These are just ideas and nice-to-haves - WPI also runs without that really good. :-)
Jackson0
Sometimes it ist easyer, better and faster to work with a Editor in the config.js (Ex. Find and Replace)
For this is easyer to have each command in one line. (Comma replaced through CR&LF)

Example:
CODE
cmds[pn]=['"%ROOT%\\Anwendungen\\Toolz\\WinRAR 3.62\\wrar362d.exe" -s','"%ROOT%\\Tools\\7z.exe" x -y -o"%PROGRAMFILES%\\WinRAR" "%ROOT%\\Anwendungen\\Toolz\\WinRAR 3.62\\rarkey.rar"','"%ROOT%\\Tools\\parsecommands.cmd" "%ROOT%\\Anwendungen\\Toolz\\WinRAR 3.62\\unattended_150.inf"'];


better:

CODE
cmds[pn]=['"%ROOT%\\Anwendungen\\Toolz\\WinRAR 3.62\\wrar362d.exe" -s'
'"%ROOT%\\Tools\\7z.exe" x -y -o"%PROGRAMFILES%\\WinRAR" "%ROOT%\\Anwendungen\\Toolz\\WinRAR 3.62\\rarkey.rar"'
'"%ROOT%\\Tools\\parsecommands.cmd" "%ROOT%\\Anwendungen\\Toolz\\WinRAR 3.62\\unattended_150.inf"'];
mritter
Here are some things on my To Do List and my own Wish List. Are these anything you might want or find useful?

1) Full path for audio files. Some people say when playing off CD it slows down installs, stutters, etc. Copy songs to C: first?? Play from a different partition???

2) Network settings. Much like your winnt.sif file, your network settings could be set using WPI. Possibly have multiple accounts: Dell, IBM, Home, Mark, Manager, Peon......set their IP address, workgroup, DNS, etc.

3) Sounds scheme. Play sounds at different times/actions. When?

4) Full theme style editor. Wizard to edit/create themes. All aspects done WPI so no hand editting.

5) Sub-items. As mentioned before, need to get install order issued worked out first.
Stoner81
QUOTE (mritter @ Dec 16 2008, 12:05 AM) *
Here are some things on my To Do List and my own Wish List. Are these anything you might want or find useful?

1) Full path for audio files. Some people say when playing off CD it slows down installs, stutters, etc. Copy songs to C: first?? Play from a different partition???

2) Network settings. Much like your winnt.sif file, your network settings could be set using WPI. Possibly have multiple accounts: Dell, IBM, Home, Mark, Manager, Peon......set their IP address, workgroup, DNS, etc.

3) Sounds scheme. Play sounds at different times/actions. When?

4) Full theme style editor. Wizard to edit/create themes. All aspects done WPI so no hand editting.

5) Sub-items. As mentioned before, need to get install order issued worked out first.


I like the sound of number four there dude for sure would make it a lot easier for sure biggrin.gif

My suggestion is about the executing of commands before WPI is run and exited from could it be made that if these are checked (aka they are in use) and somebody hits the EXIT button these bits still get run regardless? I know there is a option to say force install on exit but then it runs even when you are trying to configure it in the first place (unless this has been sorted already in which i apologise sad.gif ) other than that it does everything i want it to do mind you its like 6am for me now at the time of typing this so kinda tired lol!

Thanks for all your hard work!

Stoner81.
mritter
@icnocop: For now, make 2 useroptions.js files. One with "Load desktop before install" checked, and one with it unchecked. Then do

WPI.hta options=useroptions_checked.js

or leave as is for the default options file with it unchecked. (or vice versa).

I am still waiting on input about my post for command line args for all (most of) the user settings.
cworkman
trim file path when setting the default install path in WPI Options!

current WPI command w/o edit
"%wpipath%\Install\Software\WinVista\VistaDVD\WPI\Install\Software\JRE6.exe"

desired result when setting default install path!
"%wpipath%\Install\Software\JRE6.exe"

With Default Install Path bein "%wpipath%\Install\Software\
dolivas
Hi guy’s excellent work you have going on here I was wondering if it would be possible to add a Condition like getHDDControllerID I would like to use it to check the Hard Drive Controller in the system if the system matches then I would want it to install this software Intel® Matrix Storage Console or it could be anything you want installed that matched the ID or Contoller. Here is the controller I am trying to detect

CODE
PCI\VEN_8086&DEV_2916&SUBSYS_00000000&REV_02\3&13C0B0C5&0&F8: Intel(R) ICH9R LPC Interface Controller - 2916
PCI\VEN_8086&DEV_2922&SUBSYS_B0051458&REV_02\3&13C0B0C5&0&FA: Intel(R) ICH9R/DO/DH SATA AHCI Controller


Also does anyone know if there is way to check a DVD drive for lightscribe compatibility? If so this would also be handy if we could check this it could install the lightscribe software.

Thanks again for the AWSOME program….
mritter
Dolivas: Added getHDDControllerID() function. Will it be usable? Usually you have to have this installed before Windows starts installing.

Haven't found anything on the detecting LightScribe yet.


What other functions do you want? Maybe:

getCDBurnerID()
getKeyboardID() (for wireless drivers)
getMouseID() (for wireless drivers)
getPrinterID()
...........
dolivas
mritter Thanks yes it will be usable and yes the driver needs to be installed before windows starts but what I am trying to install is the Martix Storage Console it is like a control panel for the Intel Matrix Storage Manager. If you can add the others listed with out to much trouble add them I might have a use for a few of them but would need to test them out.

Thanks again,
dolivas
mba2048
clip < textfile.txt

does not work in any of the current versions

WPI changes clip < file.txt to "clip &lt file.txt" and does not work


In future releases, could WPI handle "<" switch so we can input files from the computer

Thanks
mritter
@mba2048: Already had that issue with & and ,. I was wondering if anything else would come up.

Consider it fixed. Easy.
Google Internet Forums Unattended CD/DVD Guide
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.