mritter Posted December 16, 2008 Share Posted December 16, 2008 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. Link to comment Share on other sites More sharing options...
Stoner81 Posted December 23, 2008 Share Posted December 23, 2008 (edited) 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 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 ) 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. Edited December 23, 2008 by Stoner81 Link to comment Share on other sites More sharing options...
mritter Posted December 31, 2008 Share Posted December 31, 2008 @icnocop: For now, make 2 useroptions.js files. One with "Load desktop before install" checked, and one with it unchecked. Then doWPI.hta options=useroptions_checked.jsor 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. Link to comment Share on other sites More sharing options...
cworkman Posted January 3, 2009 Share Posted January 3, 2009 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\ Link to comment Share on other sites More sharing options...
dolivas Posted January 4, 2009 Share Posted January 4, 2009 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 PCI\VEN_8086&DEV_2916&SUBSYS_00000000&REV_02\3&13C0B0C5&0&F8: Intel(R) ICH9R LPC Interface Controller - 2916PCI\VEN_8086&DEV_2922&SUBSYS_B0051458&REV_02\3&13C0B0C5&0&FA: Intel(R) ICH9R/DO/DH SATA AHCI ControllerAlso 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…. Link to comment Share on other sites More sharing options...
mritter Posted January 4, 2009 Share Posted January 4, 2009 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()........... Link to comment Share on other sites More sharing options...
dolivas Posted January 5, 2009 Share Posted January 5, 2009 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 Link to comment Share on other sites More sharing options...
mba2048 Posted January 6, 2009 Share Posted January 6, 2009 clip < textfile.txtdoes not work in any of the current versionsWPI changes clip < file.txt to "clip < file.txt" and does not workIn future releases, could WPI handle "<" switch so we can input files from the computerThanks Link to comment Share on other sites More sharing options...
mritter Posted January 6, 2009 Share Posted January 6, 2009 @mba2048: Already had that issue with & and ,. I was wondering if anything else would come up.Consider it fixed. Easy. Link to comment Share on other sites More sharing options...
Jackson0 Posted January 19, 2009 Share Posted January 19, 2009 Hi!My wishlist:Command to run file in Background (some progs needet to end with a taskkill)makelink funktion to make a link to an exeRegardsJackson Link to comment Share on other sites More sharing options...
AlBundy33 Posted January 19, 2009 Share Posted January 19, 2009 (edited) Why do you need to start a program in background and kill it later?!?To start a setup inbackground has no sense because WPI would call the next command and so the installer will start and immediately killed.To create shortcuts my script can included into WPI.AlStore it as vbs-file (e.g. createLink.vbs) and call it with cscript createLink.vbs - then you should see the available arguments.option explicitFunction createShortcut(source, target, icon, arguments, workdir, description, hotkey, window) Dim shell, shortcut, fso If Not isValidSource(source) Then WScript.Echo """" & source & """ ist keine gültige Quelldatei." createShortcut = 2 Exit Function End If If Not isValidTarget(target) Then WScript.Echo """" & target & """ ist keine gültige Verknüpfung." createShortcut = 3 Exit Function End If source = processQuotes(source) target = processQuotes(target) If IsNull(window) OR isEmpty(window) Then window = 1 If Not isNull(icon) AND Not isEmpty(icon) Then icon = processQuotes(icon) Else icon = source End If Set fso = WScript.CreateObject("Scripting.FileSystemObject") If isNull(workdir) OR isEmpty(workdir) Then workdir = fso.GetParentFolderName(source) If Not IsNull(arguments) AND Not isEmpty(arguments) Then arguments = processQuotes(arguments) If Not isNull(workdir) AND Not isEmpty(workdir) Then workdir = processQuotes(workdir) If Not isNull(description) AND Not isEmpty(description) Then description = processQuotes(description) If Not isNull(hotkey) AND Not isEmpty(hotkey) Then hotkey = processQuotes(hotkey) Set shell = WScript.CreateObject("WScript.Shell") Set shortcut = shell.CreateShortcut(target) If (Instr(Trim(target), ".lnk") = Len(Trim(target)) - 3) Then createTargetFolder(target) shortcut.Hotkey = hotkey shortcut.arguments = arguments shortcut.Description = description shortcut.WorkingDirectory = workdir shortcut.IconLocation = icon shortcut.WindowStyle = window End If shortcut.TargetPath = source shortcut.Save If fileExists(target) Then createShortcut = 0 Else createShortcut = 1 End IfEnd FunctionFunction processQuotes(str) Dim tmp tmp = Replace(str, "''", "&singlequote;") tmp = Replace(tmp, "'", """") tmp = Replace(tmp, "&singlequote;", "'") processQuotes = tmpEnd FunctionSub createTargetFolder(target) Dim folders, f, root, filesys, i, folder Set filesys = CreateObject("Scripting.FileSystemObject") If isNull(target) OR isEmpty(target) OR Instr(target, "\") = 0 Then Exit Sub target = Trim(target) folder = Left(target, InStrRev(target, "\")) folders = Split(folder, "\") root = folders(0) If Not Right(root, 1) = ":" Then If Not filesys.FolderExists(root) Then filesys.CreateFolder(root) End If For i = 1 To UBound(folders) Step 1 root = root & "\" & folders(i) If Not filesys.FolderExists(root) Then filesys.CreateFolder(root) NextEnd SubFunction isValidSource(source) 'isValidSource = NOT IsNull(source) AND NOT isEmpty(source) OR (InStr(1, source, "http://", vbTextCompare) = 1 OR fileExists(source)) isValidSource = NOT IsNull(source) AND NOT isEmpty(source) OR InStr(1, source, "http://", vbTextCompare) = 1End FunctionFunction isValidTarget(target) isValidTarget = NOT IsNull(target) AND NOT isEmpty(target) AND (_ (Instr(Trim(target), ".url") = Len(Trim(target)) - 3) OR _ (Instr(Trim(target), ".lnk") = Len(Trim(target)) - 3))End FunctionFunction fileExists(file) Dim FSO Set FSO = WScript.CreateObject("Scripting.FileSystemObject") fileExists = FSO.FileExists(file) Set FSO = NothingEnd FunctionFunction folderExists(folder) Dim FSO Set FSO = WScript.CreateObject("Scripting.FileSystemObject") folderExists = FSO.FolderExists(folder) Set FSO = NothingEnd FunctionSub showUsage Dim usage usage = WScript.ScriptName " created 2006 by Hawk" usage = usage & vbCrLf & "Anwendung: " & WScript.ScriptName & " -q:""Quelldatei"" -z:""Ziel"" [zusätzliche Parameter]" usage = usage & vbCrLf & " -q:""Quelldatei"" - Ziel der Verknüpfung" usage = usage & vbCrLf & " -z:""Zieldatei"" - die Verknüpfung (muss mit .lnk oder .url enden)" usage = usage & vbCrLf & "" usage = usage & vbCrLf & " zusätzliche Parameter" usage = usage & vbCrLf & " -i:""Icon"" - Das zu verwendende Symbol für die Verknüpfung" usage = usage & vbCrLf & " z.B. ""%WINDIR%\system32\shell32.dll, 10""" usage = usage & vbCrLf & " -a:""Parameter"" - zusätzliche Parameter für das auszuführende Programm" usage = usage & vbCrLf & " -w:""Verzeichnis"" - Verzeichins, in dem das Programm ausgeführt werden soll" usage = usage & vbCrLf & " -d:""Kommentar"" - Kommentar für die Verknüpfung" usage = usage & vbCrLf & " -h:""Tastenkomb."" - Tastenkombination, für die Verknüpfung" usage = usage & vbCrLf & " z.B. ""CTRL+ALT+V""" usage = usage & vbCrLf & " -s:Fenster - Fensterstatus für das ausgeführte Programm" usage = usage & vbCrLf & " 1 = Normales Fenster" usage = usage & vbCrLf & " 3 = Minimiert" usage = usage & vbCrLf & " 7 = Maximiert" usage = usage & vbCrLf & "" usage = usage & vbCrLf & "Hinweis: Innerhalb der Argumente ' statt "" verwenden." usage = usage & vbCrLf & " Sollte der Ordner für das Ziel nicht existieren, wird er erstellt." WScript.Echo usageEnd SubIf WScript.Arguments.Count < 2 Then showUsage WScript.Quit(1)End IfDim i, source, target, icon, arguments, workdir, description, hotkey, windowFor i=0 To WScript.Arguments.Count - 1 If Instr(1, WScript.Arguments.Item(i), "-q:", vbTextCompare) = 1 Then source = Trim(Right(WScript.Arguments.Item(i), Len(WScript.Arguments.Item(i)) - 3)) If Instr(1, WScript.Arguments.Item(i), "-z:", vbTextCompare) = 1 Then target = Trim(Right(WScript.Arguments.Item(i), Len(WScript.Arguments.Item(i)) - 3)) If Instr(1, WScript.Arguments.Item(i), "-i:", vbTextCompare) = 1 Then icon = Trim(Right(WScript.Arguments.Item(i), Len(WScript.Arguments.Item(i)) - 3)) If Instr(1, WScript.Arguments.Item(i), "-a:", vbTextCompare) = 1 Then arguments = Trim(Right(WScript.Arguments.Item(i), Len(WScript.Arguments.Item(i)) - 3)) If Instr(1, WScript.Arguments.Item(i), "-w:", vbTextCompare) = 1 Then workdir = Trim(Right(WScript.Arguments.Item(i), Len(WScript.Arguments.Item(i)) - 3)) If Instr(1, WScript.Arguments.Item(i), "-d:", vbTextCompare) = 1 Then description = Trim(Right(WScript.Arguments.Item(i), Len(WScript.Arguments.Item(i)) - 3)) If Instr(1, WScript.Arguments.Item(i), "-h:", vbTextCompare) = 1 Then hotkey = Trim(Right(WScript.Arguments.Item(i), Len(WScript.Arguments.Item(i)) - 3)) If Instr(1, WScript.Arguments.Item(i), "-s:", vbTextCompare) = 1 Then window = Trim(Right(WScript.Arguments.Item(i), Len(WScript.Arguments.Item(i)) - 3))NextWScript.Quit(createShortcut(source, target, icon, arguments, workdir, description, hotkey, window)) Edited January 19, 2009 by AlBundy33 Link to comment Share on other sites More sharing options...
Jackson0 Posted January 19, 2009 Share Posted January 19, 2009 Why do you need to start a program in background and kill it later?!?To start a setup inbackground has no sense because WPI would call the next command and so the installer will start and immediately killed.Why not? For that is the sleep-command the solution... I have some exe-files they will not end without manual input. And I think it "easy" to programm (like command "start /wait ...exe" and "start ...exe")Thanks for the script, but here is a WPI-wishlist thread and a direct command (like machlink in "DOS") is my wish... Regards Jackson Link to comment Share on other sites More sharing options...
AlBundy33 Posted January 19, 2009 Share Posted January 19, 2009 You can use my script in a command prompt and in WPI.Simple store it in a file createLink.vbs and call it with cscript.exe (script is called in command-shell).like machlink in "DOS"What Do you mean with "machlink" - my script or machlink.exe?I asked becaus I wrote the script to replace machlink.exe - I do nearly the same but a little bit more (e.g. I create the directory for the link if it not exist).The arguments should be compatible with MachLink.exe.Al Link to comment Share on other sites More sharing options...
Meha Posted January 20, 2009 Share Posted January 20, 2009 (edited) mritter,Is it possible for you to introduce a special java script file called “userfucntions.js “ with a dummy function?This will allow users to add their own functions and call it from the config.js.I am already using it. Problem is, with every new release I will have to modify wpi.hta to add <script > .. </script> line.Also, please don’t forget to add Win 7 and Windows 2008 R2 suport in getOSVer().Thanks,****************** sample userfunctions.js ***********************************//************************************************//// Windows Post-Install Wizard//// userfunctions.js////************************************************function SetNeroCompatibility(){ position = "userfunctions.js"; whatfunc = "SetNeroCompatibility()" // This function makes Nero 9 compatible with windows 2008 and 2008R2 by setting XP/Vista compatibility flag. var osCompatibility = "NOTREQUIRED"; var osVersion = getOSver(); if ( osVersion == "08" ) { osCompatibility = "WINXP"; } else if ( osVersion == "08R2" ) { osCompatibility = "VISTA"; } if (osCompatibility != "NOTREQUIRED") { try { // can't use WshShell.RegWrite() here; // see kb article at http://support.microsoft.com/kb/281309 var wimRegProv = GetObject("winmgmts:{impersonationLevel=impersonate}!//./root/default:StdRegProv"); var wpiRoot = root; var neroInstaller = "SetupX.exe"; var HKEY_CURRENT_USER = 0x80000001; if (wpiRoot != null) { neroInstaller = wpiRoot + "\\Nero\\SetupX.exe"; } wimRegProv.SetStringValue(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers", neroInstaller, osCompatibility ); } catch (ex) { } }}function SetWMP11Compatibility() { position = "userfunctions.js"; whatfunc = "SetWMP11Compatibility()" // This function makes WMP 11 compatible with windows 2003 by setting XP compatibility flag. var osCompatibility = "NOTREQUIRED"; var osVersion = getOSver(); if (osVersion == "03") { osCompatibility = "WINXP"; } if (osCompatibility != "NOTREQUIRED") { try { // can't use WshShell.RegWrite() here; // see kb article at http://support.microsoft.com/kb/281309 var wimRegProv = GetObject("winmgmts:{impersonationLevel=impersonate}!//./root/default:StdRegProv"); var wpiRoot = root; if (wpiRoot != null) { wmpPath = wpiRoot + "\\MediaPlayers\\WindowsMediaPlayer11\\"; } var HKEY_CURRENT_USER = 0x80000001; wimRegProv.SetStringValue(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers", wmpPath+"wmfdist11.exe", osCompatibility); wimRegProv.SetStringValue(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers", wmpPath+"wmdbexport.exe", osCompatibility); wimRegProv.SetStringValue(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers", wmpPath+"wmp11.exe", osCompatibility); } catch (ex) { } }}************************************************ Edited January 20, 2009 by Meha Link to comment Share on other sites More sharing options...
mritter Posted January 20, 2009 Share Posted January 20, 2009 Not a bad idea. I normally just use the customthemecode.js file, but then that is theme specific. I will start a file as you suggested.To call it, use the existing function:JSCRIPT={SetNeroCompatibility()}You can call any JavaScript function with this. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now