Help - Search - Members - Calendar
Full Version: WPI in the future wishlist
MSFN Forums > Member Contributed Projects > Windows Post-Install Wizard (WPI)
Pages: 1, 2

   
Google Internet Forums Unattended CD/DVD Guide
Kelsenellenelvian
I know some of the requests filed last time didn't get put in this one. don't worry though they are still being worked on.

So keep the ideas comin...
sp00f
More then six commandlines would be very nice.
Kelsenellenelvian
That horse has been beat to DEATH sp00f!!!

But I did decide to finally give into everyones requests and add 4 more...
sp00f
Awesome thumbup.gif
planoleg
Can you include an option so a swtichless installer can be executed from WPI?
Kelsenellenelvian
It is already and option you just add the installer with no switches tongue.gif
planoleg
Great!
Okay, then how about to include more switches? For example for some programs WPI does not find a switch but it can be found here http://www.appdeploy.com or here http://www.msfn.org/board/index.php?showtopic=12657. It would be cool if you could manually include them.
I'm also thinking if it is possible to add an option to your program so it would be able to record when program is being manually installed and then save the log. So all you have to do it to attach the log file and it will install the program in the same way you installed it. This will allow for ealisy configurable setup. Kind of like Almeza multiset. But problem with this program is that when you install a program there is not log file, so after you close the program you cannot open it again and run an installation of a particular program.
Kelsenellenelvian
Ummm you really need to do some reading in the manual you just click on the commandline and enter your switches with your keyboard.
HJW
QUOTE
strangely can't find this anywhere so i'll make it a feature request:Option to fill in useraccounts (with their avatar)/give computername/give workgroup name (for the network).That would be great!...


This would be cool. Kindalike OOBE stuff, I disabled OOBE because it runs at the wrong moment..if you could include stuff like this with the WPIinstall that would be great newwink.gif

-computername
-computerdescription
-workgroup
-timezone
-useraccounts..

HJW
HJW
- User to set somekind of ETA in configuration per app.
- Add backgound/wallpaper during installer.. (i hate that black schreen tongue.gif )
eickst
QUOTE (HJW @ Jul 10 2007, 06:01 AM) *
- User to set somekind of ETA in configuration per app.
- Add backgound/wallpaper during installer.. (i hate that black schreen tongue.gif )


Oooh an ETA would be sweet! So we could have a time remaining on the installer window, that would be awesome!
sp00f
QUOTE (HJW @ Jul 10 2007, 03:01 PM) *
- User to set somekind of ETA in configuration per app.
- Add backgound/wallpaper during installer.. (i hate that black schreen tongue.gif )

Your not the only one.
In XP there was an addon for this.
Kelsenellenelvian
I am working on a hacked up method to call WPI after the desktop loads I have some ideas..

CODE
- User to set somekind of ETA in configuration per app.
<--- Thats ALOT of recoding there. Not likely to happen anytime soon.
HJW
QUOTE (Kelsenellenelvian @ Jul 26 2007, 05:05 AM) *
I am working on a hacked up method to call WPI after the desktop loads I have some ideas..

CODE
- User to set somekind of ETA in configuration per app.
<--- Thats ALOT of recoding there. Not likely to happen anytime soon.


Ok, fair enough, however what do you think of a custom background/splash for behind the installer (@desktopwidth en @desktopheight)?
sp00f
QUOTE (HJW @ Jul 30 2007, 11:51 PM) *
QUOTE (Kelsenellenelvian @ Jul 26 2007, 05:05 AM) *
I am working on a hacked up method to call WPI after the desktop loads I have some ideas..

CODE
- User to set somekind of ETA in configuration per app.
<--- Thats ALOT of recoding there. Not likely to happen anytime soon.


Ok, fair enough, however what do you think of a custom background/splash for behind the installer (@desktopwidth en @desktopheight)?

That would be nice.
In XP i had this fixed, but not in Vista
duomenox
I was woundering about the sound options. I see that the sound plays when the installations begin, can an option be added to the audio options page that allows for the sound to start when WPI starts?

Also, I'd like to see an option in the audio options pane for volume control. I think a slider bar or just plain old text box where you could choose a percentage would be great. So far, WPI starts WM with the volume at 100%, I would like to be able to dictate that the volume is 30% (for example) when WPI starts WM.

Thanks!

-Daren
AlBundy33
Fully qualified pathnames for images would be nice.
e.g. %ROOT%\Apps\Nero\wpi_image.png

My config.js is created by a batch-file which searches in the application-folder for wpi_image and sets picf[pn] to it.
e.g. picf[pn]=['%ROOT%\\Anwendungen\\Multimedia\\Codec - DivX Pro 6.6.1\\wpi_image.png'];

For this purpose I created a litte hack in program.js
CODE
function WriteBackPrograms(programs)
{
    position="program.js";
    whatfunc="WriteBackPrograms()";

    for (var i=0; i<programs.length; i++)
    {
        if (IndentText)
            textindent ='    ';
        else
            textindent ='';

        if (programs[i].picf != null)
        {
            if (programs[i].textl != "Top")
            {
                  if (programs[i].textl != "Bottom")
                {
                    pwidth=programs[i].picw;
                    pheight=programs[i].pich;
                    textloc=programs[i].textl;
                    desc[i+1]=imagelocationlr + programs[i].picf + imagepart2lr + pwidth  + imagepart3lr + pheight + imagepart4lr + textloc + imagepart5lr + textindent + programs[i].desc;
                }
            }

            if (programs[i].textl != "Left")
            {
                  if (programs[i].textl != "Right")
                {
                       if (programs[i].textl != "Bottom")
                    {
                        pwidth=programs[i].picw;
                        pheight=programs[i].pich;
                        textloc=programs[i].textl;
                        desc[i+1]=textindent + programs[i].desc + imagepart1t + imagelocationtb + programs[i].picf + imagepart2tb + pwidth  + imagepart3tb + pheight + imagepart4tb;
                    }
                    else
                    {
                        pwidth=programs[i].picw;
                        pheight=programs[i].pich;
                        textloc=programs[i].textl;
                        desc[i+1]=imagelocationtb + programs[i].picf + imagepart2tb + pwidth  + imagepart3tb + pheight + imagepart4tb  + imagepart1b + imageparteb + textindent + programs[i].desc;
                    }
                }
            }
            //check if an absolute path was set
            if (desc[i+1].match(/img src=".*\\.*"/g) != null) {
                //remove ./Graphics/
                desc[i+1]=desc[i+1].replace(/src=".\/Graphics\//gi, 'src="');
                //replace variables (e.g. %ROOT%)
                desc[i+1]=ReplacePath(desc[i+1].replace(/src="([^"]*)"/gi, 'src="$1"'));
                //get path to image
                path_to_image = desc[i+1].replace(/.*src="([^"]*)".*/i, "$1");
                //replace every "\" with "/"
                path_to_image = path_to_image.replace(/\\/g, '/');
                //build new description
                desc[i+1]=desc[i+1].replace(/src="[^"]*"/gi, 'src="file://' + path_to_image + '"');
            }
        }
        else
           desc[i+1]=textindent + programs[i].desc;

        prog[i+1]=programs[i].prog;
        ordr[i+1]=programs[i].ordr;
        uid[i+1]=programs[i].uid;
        dflt[i+1]=programs[i].dflt;
        cat[i+1]=programs[i].cat;
        forc[i+1]=programs[i].forc;
        configs[i+1]=programs[i].configs;
        deps[i+1]=programs[i].deps;
        excl[i+1]=programs[i].excl;
        cond[i+1]=programs[i].cond;
        gcond[i+1]=programs[i].gcond;
        regb[i+1]=programs[i].regb;
        cmd1[i+1]=programs[i].cmd1;
        cmd2[i+1]=programs[i].cmd2;
        cmd3[i+1]=programs[i].cmd3;
        cmd4[i+1]=programs[i].cmd4;
        cmd5[i+1]=programs[i].cmd5;
        cmd6[i+1]=programs[i].cmd6;
        cmd7[i+1]=programs[i].cmd7;
        cmd8[i+1]=programs[i].cmd8;
        cmd9[i+1]=programs[i].cmd9;
        cmd10[i+1]=programs[i].cmd10;
        rega[i+1]=programs[i].rega;
        picf[i+1]=programs[i].picf;
        picw[i+1]=programs[i].picw;
        pich[i+1]=programs[i].pich;    
        textl[i+1]=programs[i].text1;
    }

    prog[programs.length+1]=null;
}


Are there plans to replace the static count of commands with an dynamic list?
10 commands are much better than six but a lot of my applications need much more commands.
e.g. Microsoft Office Viewer need 21 commands for installing
CODE
"Microsoft Excel Viewer 2003 1.0.exe" /Q /C:"msiexec -i xlview.msi /passive /norestart /qb ADDLOCAL=ALL REBOOT=ReallySuppress"
"Microsoft PowerPoint Viewer 2003 3.0.exe" /Q /C:"msiexec -i ppviewer.msi /passive /norestart /qb ADDLOCAL=ALL REBOOT=ReallySuppress"
"Microsoft Visio Viewer 2003 2.0.exe" /Q /C:"msiexec -i vviewer.msi /passive /norestart /qb ADDLOCAL=ALL REBOOT=ReallySuppress ACCEPTEULA=1"
"Microsoft Word Viewer 2003 2.0.exe" /Q /C:"msiexec -i wordview.msi /passive /norestart /qb ADDLOCAL=ALL REBOOT=ReallySuppress"
office2003-KB914451-FullFile-DEU.exe /Q
office2003-KB917346-FullFile-DEU.exe /Q
office2003-KB919029-FullFile-DEU.exe /Q
office2003-KB923272-FullFile-DEU.exe /Q
office2003-KB923275-FullFile-DEU.exe /Q
office2003-KB923276-FullFile-DEU.exe /Q
office2003-KB924424-FullFile-DEU.exe /Q
office2003-KB925525-FullFile-DEU.exe /Q
office2003-KB920813-FullFile-DEU.exe /Q
office2003-KB929064-FullFile-DEU.exe /Q
office2003-KB924883-FullFile-DEU.exe /Q
office2003-KB934180-FullFile-DEU.exe /Q
office2003-KB934445-FullFile-DEU.exe /Q
office2003-KB934041-FullFile-DEU.exe /Q
office2003-KB936508-FullFile-DEU.exe /Q
office2003-KB936048-FullFile-DEU.exe /Q
office2003-KB940604-FullFile-DEU.exe /Q


And three cleanup-commands (move startmenu-icons)

At this time a have two batch-files.
One application-specific setup.cmd (if necessary) and a global filtercleanup.cmd which extracts the cleanup-commands from a application-specific file.

I think it would be better to store all commands in wpi - but for this reason a dynamic list of commands is necessary.

Al
spidercop
cant u make e counter that u can fil in the space ap takes on hd en if user select e ap the amount of space e ap takes is counted up together
Kelsenellenelvian
Can you type in understandable english?
sp00f
Would be nice if the sound/music could be run from the hard drive instead of the cd/dvdrom , it prevents stutter sound.
spidercop
i want e option wich tells how much space all programs u selected take on hd
like wen u ad new soft in wpi u type the space the ap takes on hd
en wpi just ads all those number up en show it wen u select new software
sry for typos im dutch
g8way2
Hola Kel and Co. First off, thanks a lot for coding this great little proggie. I used it for the first time last week, had all my silent installers ready and everything worked out of the box the first time. That's a cadeu to you guys. Only thing was the bug with the registry files getting doubleqoutes, but that info was off course available to the avid reader in the forum.

My question is:
I've had a long look at Dje's excell injection tool and I was fiddling around with WPI v6.2 myself to try some of it out but I was wondering what your thoughts where to using the functions that Dje introduces? I'm mainly thinking about having the possibility to load external config files as an option and then having those commands injected into wpi, ie like Dje does with say, offering the option to create Firefox profiles and re-installing all/chosen Firefox extensions.

Another good one from Dje's would be say, selecting a backed up My Documents folder, and either copy the contents to the new xp default location (or better yet, change the registry settings of xp to point to the backed up directory) That's basically just a selecet a dir and write the selected dir into the registry operation. But that would be usefull for all kinds of backed up data one has on other partitions from previous windows installs.

Any ways, my sixpence....
Ghost_Shield
Hey Kelsenellenelvian, developers, and other users,

Just got back into updating my WPIW and came across something you might want to add it.

I have a category called Uninstall which contains a list of old programs to uninstall before the new ones get installed in a different category. What I need WPIW to do is restart after all the uninstall programs (from the Uninstall category) have been executed. Kind of a restart after category install complete command.

P.S. I know you can do several workarounds to get this to work but I thought it would be alot cleaner to add specific functionality to the progam.
Kelsenellenelvian
Ummmmmmmmmm their is a %reboot% function built into WPI now.
Ghost_Shield
QUOTE (Kelsenellenelvian @ Oct 26 2007, 11:19 PM) *
Ummmmmmmmmm their is a %reboot% function built into WPI now.



Kelsenellenelvian

smile.gif Yeah, I know but this function would be a restart after a category is finished installing, before the next category starts.

Lets say you had several programs that you want to install and serval updates to those programs which need to be installed after the program is installed and the computer has been restarted; The idea is that you will be able to do this without having to restart after each individual program install. You would just install all the programs then restart then the updates. Clear as mud!

Like I said earlier there are plenty of work arounds but an actual function for this would be alot cleaner
jackazz76
ETA, couldn't you just put a gif of a progress bar that says "? minutes remaining", I haven't found a progress bar that actually conforms to "real" time. Maybe have it switch to crazy numbers 40 minutes remaining, 800 minutes remaining, 2 minutes remaining.

I'm new here so I'm not sure exactly how fun you people are.
<==== see post number 1 newwwwwbbbbb
Warning: I'm seldomly serious about anything!

Had to edit again, I just realized I don't even have newbie status yet, I am the lowest of the low. sad.gif
spidercop
i want tho be able tho make prime catogary with sub catogory's for software selection
sry for my english here is example


security

antispyware
apname
apname
apname
apname

antivirus
apname
apname
apname
apname

firewal
apname
apname
apname
apname
deadbug
I'm in the middle of tracking down which ?*&&?* apps are causing reboots during my WPI run.

Since there are at least two apps doing this (it seems) then the WPI_Log.txt gets wiped (twice), which means I get to fix the most recent offender, rebuild the DVD and start all over again.

This quick hack in installer_log.js appends to WPI_Log.txt if it happens to be there already:
CODE

if (ResumeInstall)
{
.... not here ...
}
else
{
// This is the new bit - try an Open before the create ....
try
{
logHandle = fso.OpenTextFile(logFile,8,false);
logHandle.WriteLine(getText(WPIInstallLogFile)+"\r\n");
logHandle.WriteLine("Installation started (possibly after a reboot) at "+LogTimeStamp()); // needs I18N here !!
}
catch (ex)
{
// Original Open code here (try {} catch{}) ....
}
}
DJPro
Hello developpers,

Is it possible to ad support for WshShell.RegRead method for reading REG_BINARY values.
BabisSougias
I am currently satisfied with the WPI, can't think of anything i want biggrin.gif
Kelsenellenelvian
Thats very nice to hear!!!
sp00f
I like to see a better navigation trough the list



So when i hit the "A" it goes to the first app starting with the letter "A" etc.
Like browsing a folder.
Now you have to scroll to your app.
Very time consuming.
Kelsenellenelvian
Why the hell is this closed???

OH well it is reopened now.
Kelsenellenelvian
QUOTE (JuMz @ Jan 9 2008, 03:52 PM) *
Found a way:

x86
CODE
RegKeyValue("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE")=="x86"


x64
CODE
RegKeyValue("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE")=="AMD64"


Using VBScript, you can do it like this:

CODE
sub EnsureNativeScriptEngine

    On Error resume next
    dim WshShell,WshProcEnv,process_architecture
    Set WshShell =  CreateObject("WScript.Shell")
    Set WshProcEnv = WshShell.Environment("Process")
    process_architecture= WshProcEnv("PROCESSOR_ARCHITECTURE")
end sub


I notice you closed the 'suggestions' topic. I had a couple of ideas I wanted to bounce off of you (one of them was this)

One idea I had was having 'description on condition met' dialog thing that would come up if a 'grey condition' was enabled so that on mouse over, the user would 'know' why it was greyed out etc so I can display ("already installed" or "not compatible with <insert OS here>" etc

Another idea I had was to add the ability to execute '1 last thing' @ the end, before WPI closes, like a cleanup script option incase we need to take care of misc things (Right after installer.hta finishes).

On a sorta related topic:

I noticed that for the 'reboot feature' of WPI, you use the 'shutdown -f -r -t xx' command...why not a vb script that acts like a 'native reboot'

Below, I found from somewhere on the net and I use it in my own scripts and it is equivalent to 'Startmenu - > shutdown -> restart'
CODE
Function displayRebootConfirmation()

Ret=Msgbox ("Setup needs to restart in order to complete installation. Would you like to restart now?",VBYesNo,"Restart Now?")

If Ret=6 then
  Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery ("select * from Win32_OperatingSystem where Primary=true")

  for each OpSys in OpSysSet
    OpSys.Reboot()
  next
end if

End Function


Just a couple of thoughts. Great work with this tool by the way, an absolute lifesaver!
anonymous_user
I want a dependency feature that works like this:

Program A is set as dependent on Program B, therefore WPI automatically installs Program B before Program A.
HJW
I request a feature.

Assign Screen.Width and Screen.Height like as be done with Top.Status in api.js (sizer)
That way I will be able to script my themes to detect resolution en set right wallpaper.


As for now I fixed it myself in the HTML of the theme.

CODE
<div id='bgpiclayer' style="z-index:-1; position:absolute; top:0; left:0; width:100%; height:100%; display:block; overflow:hidden;">
<img id='bgpic' src='' width="100%" height="100%">
</div>
<script type="text/javascript">
    if ((screen.width==1920) && (screen.height==1200))
          document.all.bgpic.src = "./Themes/vista/wallpaper1920ws.jpg";
    if ((screen.width==1600) && (screen.height==1200))
          document.all.bgpic.src = "./Themes/vista/wallpaper1600.jpg";
    if ((screen.width==1600) && (screen.height==1050))
          document.all.bgpic.src = "./Themes/vista/wallpaper1600ws.jpg";
    if ((screen.width==1280) && (screen.height==1024))
          document.all.bgpic.src = "./Themes/vista/wallpaper1280.jpg";
    if ((screen.width==1024) && (screen.height==768))
          document.all.bgpic.src = "./Themes/vista/wallpaper1024.jpg";
    else
        document.all.bgpic.src = "./Themes/vista/wallpaper.jpg";
</script>



HJW
1bolhunglo
how about we have the addition of radio buttons for selecting from say different programs. one or the others using a radio button. one being the default but instead of the default if you select another program and the default selection gets unselected.

like say multiple MST files for office where one is the full install. the other is word, excel, power point only and the other is word, excel, powerpoint and access.
Kelsenellenelvian
Sorry that cannot be done because you mst file contains the serial for office.

But it would be very simple for you todo yourself.
1bolhunglo
QUOTE (Kelsenellenelvian @ Feb 12 2008, 04:08 PM) *
Sorry that cannot be done because you mst file contains the serial for office.

But it would be very simple for you todo yourself.


im not asking for an mst file.

i know how to make different mst files. what i want is to be able to choose using a radio button which one i want and the rest will be deselected. so only one will be installed.

like say if you have 3 different programs of the same type (for example winrar, winzip, 7 zip) and you only want on type of that program to be installed you have a radio button instead of a tick box.
Kelsenellenelvian
Have you looked into the muti defualts section?
1bolhunglo
QUOTE (Kelsenellenelvian @ Feb 14 2008, 10:34 AM) *
Have you looked into the muti defualts section?


i did not know that you can have multiple defaults. ok i will give that a go. thanks.
Ghost82
1. Is there a way to check if the system is running an AMD or Intel CPU? this can be usefull for installing applications that are designed to work with either Intel or AMD only, also usefull for applying some registry tweaks. (using the PROCESSOR_IDENTIFIER variable maybe?)

2. Can the above be done for:
2a. The number of processors?
2b. Brandname (e.g. HP or Dell)?
2c. Amount of RAM?
2d. Diskspace?

The list can go on and on, in general it would be nice to have a way to check if the "system requirments" for installing an application are met.

I'm just thinking out loud here newwink.gif

thnx for all the hard work Kel !!
johnhc
Kelsenellenelvian,
I have three requests:
1. Start using a version of 7-Zip that works with both 32 and 64 bit Windows. nLite's version of 7-Zip works with both but is 4.42. I suspect there is a 4.57 version of the same exe. There was a post on the nLite forum reporting that the 4.42 version had a security flaw and asking that 4.57 be substituted.

2. Provide an option allowing the user to select a Full border or None. I prefer to be able to use the taskbar for looking at other items while I am running WPI and would rather not close it to do so.

3. Correct the minor problem I reported in the WPI forum about the formatting problem on the Picture Details size and location pull down lists' labels.

Thanks much.
John
Kelsenellenelvian
1 Ok will look into(Lookked into it and cannot find one that works for both) Will see about a workaround.

2 Cannot be done is coded into the hta file so that we cannot use a variable you can switch it manuall by opening wpi.hta with notepad its the first section.

3 Had fixed, got overwrote will refix biggrin.gif
Kelsenellenelvian
QUOTE (Ghost82 @ Apr 4 2008, 07:45 AM) *
1. Is there a way to check if the system is running an AMD or Intel CPU? this can be usefull for installing applications that are designed to work with either Intel or AMD only, also usefull for applying some registry tweaks. (using the PROCESSOR_IDENTIFIER variable maybe?)

2. Can the above be done for:
2a. The number of processors?
2b. Brandname (e.g. HP or Dell)?
2c. Amount of RAM?
2d. Diskspace?

The list can go on and on, in general it would be nice to have a way to check if the "system requirments" for installing an application are met.

I'm just thinking out loud here newwink.gif

thnx for all the hard work Kel !!



Proccesssor ID is on the todo list.

Ouch
Ouch
Ouch
Ouch

KK will see what is possible or not.
johnhc
Kelsenellenelvian,
Thanks for your response.

1.I think it is the 7za457.zip here. I ran some experiments and reported in here. I will run some experiments on 7za when I get back on my 64 bit machine.

2.You had told me how to set the screen to full, so I am doing that. Is it possible to have a switch?

3.Thanks.

In the post mentioned in 1., above, I had asked for hashes to be added to the DL page.
Thanks much.
John Christian
Kelsenellenelvian
Turns out the whole window can be customized! Look fo a new tab in the next version (mritter found a way)

Will add the md5 hashes when I get home.

Thanks for the 7zip work.
johnhc
Thanks, Kelsenellenelvian and mritter! This all sounds great!
I have run a couple of quick tests on 7za on my x64 machine for .zip and .7z files and it works fine. I assume since SourceForge shows it as an i386 file, it is OK with a 32 bit machine.
Thanks again.
Enjoy, John.
Dynaletik
It's not a big thing: I think that the WPI.ico file in Graphics folder is quite grainy. Perhaps we could use the WPI.ico from the Tools archive? I edited it to only have the 32x32 icon in it and attached it. newwink.gif
chaoticyeshua
Please add, within the config menu, an option to sort the entries by install order (most important), alphabetically, or alphabetically within their category (with categories in alphabetical order). This will make it easier to determine whether or not there are multiple instances of the same install order, as well as making it easier to determine what install order number to give to each entry.

I appreciate all of your hard work on this project, it's absolutely amazing. Thanks~
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.