Jump to content

New wishlist (7.2.0+)


Recommended Posts

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


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 :D

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 by Stoner81
Link to comment
Share on other sites

  • 2 weeks later...

@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.

Link to comment
Share on other sites

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

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 - 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….

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

  • 2 weeks later...

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.

Al

Store it as vbs-file (e.g. createLink.vbs) and call it with cscript createLink.vbs - then you should see the available arguments.

option explicit

Function 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 If
End Function

Function processQuotes(str)
Dim tmp
tmp = Replace(str, "''", "&singlequote;")
tmp = Replace(tmp, "'", """")
tmp = Replace(tmp, "&singlequote;", "'")
processQuotes = tmp
End Function

Sub 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)
Next
End Sub

Function 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) = 1
End Function

Function 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 Function

Function fileExists(file)
Dim FSO
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
fileExists = FSO.FileExists(file)
Set FSO = Nothing
End Function

Function folderExists(folder)
Dim FSO
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
folderExists = FSO.FolderExists(folder)
Set FSO = Nothing
End Function

Sub 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 usage
End Sub

If WScript.Arguments.Count < 2 Then
showUsage
WScript.Quit(1)
End If

Dim i, source, target, icon, arguments, workdir, description, hotkey, window
For 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))
Next

WScript.Quit(createShortcut(source, target, icon, arguments, workdir, description, hotkey, window))

Edited by AlBundy33
Link to comment
Share on other sites

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

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

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 by Meha
Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...