Jump to content

AlBundy33

Member
  • Posts

    216
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Germany

Everything posted by AlBundy33

  1. Just a modified version of my script: @ECHO OFF SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION SET SHARE= IF NOT "%~1"=="" SET SHARE=%~1 IF "%SHARE%"=="" ( TITLE Running local WPI... CALL :RUN ) ELSE ( TITLE Running WPI from "!SHARE!"... PUSHD "!SHARE!" ECHO.Mounting "!SHARE!" to "!CD!"... CALL :RUN ECHO.Unmounting network-drive... POPD ) GOTO :END :RUN PUSHD WPI ECHO.Starting WPI... START /wait wpi.hta POPD GOTO :END :END Put this script (RunWPI.cmd) to WPI-parent-directory (in WPI it's called %ROOT%). If you start the script without arguments your local WPI will be started - but if you start the script with an share (e.g. \\SERVER\SHARE) as argument, WPI will be started from SHARE (\\SERVER\SHARE must contains WPI). Best regards Al
  2. Feature-Request: It should be possible to set the full path to a picture. e.g. picf[pn]=['%ROOT%\Apps\MyApp\MyAppImage.png'] Linebreaks (<b>) doesn't work correctly in desc[pn]. Al
  3. Unfortunately this also doesn't work correctly (and it's no valid HTML). I tried it with <p/> and <p>...</p> which works correctly but there are the linespacings to big. Al [EDIT] If found a workaround for this Problem: <table class="opTxt"><tr><td nowrap>Line 1.</td></tr><tr><td nowrap>Line 2.</td></tr><tr><td nowrap>Very very very very very very very very long line</td></tr></table> But now I need to know the right css-class to display the text. Can anybody help me to find it out? [/EDIT]
  4. I tried it with this: Line1<b>Line2<b>Veeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrryyyyyyyyyyyyyyyyy long line But the result is not what I've expected (Image is attached). Hope that anybody can help me. Al Sorry for the double-post.
  5. I tested my unattended DVD in VMWare Player an saw that at the end of all installs (after about 2 hours) mshta.exe needs about 100MB of memory. --> And so it takes a long time (only tested in VMWare Player) until WPI finishes because it has to wait until all of the memory is freed up. Maybe it's possible to do a CollectGarbage(); at some positions in WPI to periodical free up the memory? Greetings Al
  6. An information about how many errors occured would be very nice at the end of the log. Greetings Al
  7. It seems that it problem is solved with the files from ExecuteBeforeAfter.rar from mritter. Or it was a configuration error - I don't known what the reason was but know it works. Al
  8. Thanks for your reply - I forgot that PUSHD needs enabled command extensions because they are enabled by default at my system. With this script the extension will be enabled for the execution. @ECHO OFF SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION SET SHARE=\\SERVER\SHARE TITLE Running WPI from "!SHARE!"... PUSHD "!SHARE!" ECHO.Mounting "!SHARE!" to "!CD!"... PUSHD WPI ECHO.Starting WPI... START /wait wpi.hta POPD ECHO.Unmounting network-drive... POPD Greetings Al
  9. A Option to hide all commands would be very nice. For Example: I have a setup.cmd with lots of commands and I don't want to see the console if the Batch is called. Other example: Sometimes I have to uncompress a archive with 7za - which also shows a console window. I know that I can use CMDOW but an option in WPI like "suppress console windows" would be very nice. ;-) A hint like "Installing program 1 of 234" would be very nice on the installer window. Greetings Al
  10. If you want to run WPI from a network-share I found a simple solution. pre-condition is that you don't use absolute path-names in your commands - you have to use variables like %CDROM% or %WPIPATH%. If you use such variables you can use the following Script to run WPI from a network-share. @ECHO OFF ::This should be the path to WPI on the share SET SHARE=\\SERVER\SHARE ::mount share to a free drive and change directory to it. After Script it finished the drive will be unmounted PUSHD "%SHARE%" START /wait WPI.hta POPD That's all Greetings Al
  11. On slow machines (e.g. in VMWare) I hove following problem: If UseTransitions is set to true, click some pages forward and try to select a program WPI switches back to third page. :-/ If I disable UseTransitions I works without problems. :-/ Al
  12. These are my configs: cmdlines.txt [COMMANDS] "\Software\WPI_RunOnce.cmd" WPI_RunOnce.cmd REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\999" /v 1 /d "%~dp0WPI\WPI.hta" /f After Windows-Setup is finished an the PC reboots WPI starts normaly. But if I start to install my Programms I get only Errors (red cross or question mark before application name). :-/ After WPI is ready Windows starts its own RunOnceEx-Commands (e.g. Internet Explorer). --> I thought WPI should the last command (RunOnceEx\999). ?!? After Windows is ready and I can work with the current session I can start WPI and install all programs without Problems. ?!? Does anybody know this Poblem (I'm using WPI 5.0 Final)? Greetings Al
  13. The error seems to be because a bug in installer.js - with this installer.js it should work: // // Date Last Modified: June 9, 2006 // // Modified By: Mark Ritter (mritter) and Djé // function ShowInstaller() { position="installer.js"; whatfunc="ShowInstaller()"; var txt = new String(); txt==""; var line = new String(); line=""; var iWidth, iHeight; iWidth=328+ExtraWidth; iHeight=410+ExtraHeight; if (PlayAudioInInstaller) iHeight +=62; strFile=wpipath+"Common\\Installer.hta"; if (!FileExists(strFile)) { alert("Could not open '"+strFile+"'."); ExitWPI(); } InstallWindow=window.showModelessDialog(strFile,window,"dialogLeft:25;dialogTop:25;dialogWidth:"+iWidth+"px;dialogHeight:"+iHeight+"px;center:no;help:no;resizable:no;scroll:no;status:no;"); Pause(0,100); InstallWindow.document.getElementById("InstallHeaderText").innerHTML=getText(InstallerHeaderTxt); InstallWindow.document.getElementById("installLayer").style.cursor='wait'; if (PlayAudioInInstaller) { InstallWindow.document.getElementById("MediaPLayer").style.display='block'; } } function CheckInstaller() { position="installer.js"; whatfunc="CheckInstaller()"; if (InstallWindow.closed) { ShowInstaller(); } } function CloseInstaller() { position="installer.js"; whatfunc="CloseInstaller()"; WshShell.RegWrite("HKEY_CURRENT_USER\\Software\\WPI\\Installer\\InstallFinished","TRUE"); CloseLogFile(); Pause(2,0); return; } function InstallPrograms() { position="installer.js"; whatfunc="InstallPrograms()"; InstallShell = new ActiveXObject("WScript.Shell"); var ce=0; programs = new Array(); htm(); // Turn off tips StopAudio(); window.resizeTo(0,0); window.moveTo(25,25); for(i=1; prog[i] != null; i++) { if (forc[i] != null && forc[i]=="yes" && ReallyForce) setChecked(i); if (document.getElementById("chkbox"+i) && document.getElementById("chkbox"+i).checked) programs[programs.length++] = new program(i); } topLine=0; currentLine=0; totalLine=programs.length; if (totalLine==0) return; if (!InstallByCategory) programs.sort(SortByOrdr); OpenLogFile(); WriteLogLinePlain("\nList of programs to be installed:"); for(i=0; programs[i] != null; i++) WriteLogLinePlain(" "+programs[i].prog); if (ExecuteBeforeEnabled && ExecuteBefore!=null) { programs.splice(0,0,new program(999998)); programs[0].prog="Execute Before"; programs[0].uid="EXECUTE_BEFORE"; programs[0].ordr=999998; programs[0].cat="WPI Built In"; programs[0].cmd1=ExecuteBefore; totalLine++; } if (ExecuteAfterEnabled && ExecuteAfter!=null) { programs.splice(programs.length,0,new program(999999)); programs[programs.length-1].prog="Execute After"; programs[programs.length-1].uid="EXECUTE_AFTER"; programs[programs.length-1].ordr=999999; programs[programs.length-1].cat="WPI Built In"; programs[programs.length-1].cmd1=ExecuteAfter; totalLine++; } ShowInstaller(); CheckInstaller(); for(i=0; i<programs.length && programs[i] != null; i++) { ce++; programs[i].success=false; programs[i].fail=false; UpdateInstallList(ce,programs); StartLogEntry(programs[i]); InstallOne(i,'regb'); CheckInstaller(); for(j=1; j<=6; j++) { InstallOne(i,'cmd'+j); CheckInstaller(); } CheckInstaller(); InstallOne(i,'rega'); WriteLogLine("Finished installation"); UpdateProgressBar(Math.round((ce/programs.length)*100)); Pause(0,250); } CheckInstaller(); UpdateInstallList(10000000,programs); Pause(0,250); CheckInstaller(); if (RestartComputer) { cmdLine='shutdown.exe -r -f -t '+RestartSeconds+' -c "To finish installations WPI will now reboot in '+RestartSeconds+' seconds..."'; InstallShell.Run(cmdLine,1,false); } CloseInstaller(); } function InstallOne(item,cmdName) { position="installer.js"; whatfunc="InstallOne()"; var cmd, ReturnCode, result; CheckInstaller(); cmd=eval('programs['+item+'].'+cmdName); if (cmd == null || (cmdLine=path(cmd)) == '') return; if (cmdName=='regb' || cmdName=='rega') { if (!FileExists(cmdLine)) { programs[i].fail=true; cmdName=(cmdName=='regb') ? 'Reg Before' : (cmdName=='rega') ? 'Reg After' : cmdName; WriteLogLine(cmdName+' '+result+' (returned code '+ReturnCode+'): RegEdit /S "'+cmdLine+'"'); return; } if (cmdLine.indexOf(" ") != -1 && cmdLine.substr(0,1) != '"') cmdLine='"'+cmdLine+'"'; cmdLine="RegEdit /S "+cmdLine; } else cmdLine=handleCommand(cmdLine); try { ReturnCode=InstallShell.Run(cmdLine,1,true); result='Success'; programs[i].success=true; } catch(ex) { result='Fail'; programs[i].fail=true; } cmdName=(cmdName=='regb') ? 'Reg Before' : (cmdName=='rega') ? 'Reg After' : cmdName; WriteLogLine(cmdName+' '+result+' (returned code '+ReturnCode+'): "'+cmdLine+'"'); } function handleCommand(cmd) { position="installer.js"; whatfunc="handleCommand()"; var firstToken; if (cmd.indexOf(" ") != -1 && cmd.substr(0,1) != '"') { firstToken = cmd.substr(0,cmd.indexOf(" ")); switch(firstToken.toUpperCase()) { case 'FILECOPY': cmd = ("CMD /C " + cmd.replace(/FILECOPY/gi,'copy')); break; case 'DIRCOPY': cmd = ("CMD /C " + cmd.replace(/DIRCOPY/gi,'xcopy') + " /I /E /Y"); break; case 'RENAME': cmd = ("CMD /C " + cmd.replace(/RENAME/gi,'ren')); break; case 'MAKEDIR': cmd = ("CMD /C " + cmd.replace(/MAKEDIR/gi,'md')); break; case 'DELETE': cmd = ("CMD /C " + cmd.replace(/DELETE/gi,'del')); break; default: if (FileExists(cmd)) cmd='"'+cmd+'"'; break; } } return (cmd); } function UpdateInstallList(pos,progs) { position="installer.js"; whatfunc="UpdateInstallList()"; var line, box; CheckInstaller(); box=""; if (progs.length<=maxLines) { for(line=0; line<progs.length; line++) { if (line+1==pos) { box+='<img src="../themes/'+Theme+'/spacer.gif" border="0" width="13" height="1">'; box+='<font style="font-size:12px;"><b>'+progs[line].prog+'</b></font>'; } else { if (line+1<pos) { if (progs[line].success && !progs[line].fail) { box+='<img src="../themes/'+Theme+'/InstallSuccess.gif" border="0" width="11" height="11">'; } if (!progs[line].success && progs[line].fail) { box+='<img src="../themes/'+Theme+'/InstallFail.gif" border="0" width="11" height="11">'; } if (progs[line].success && progs[line].fail) { box+='<img src="../themes/'+Theme+'/InstallPartial.gif" border="0" width="11" height="11">'; } if (!progs[line].success && !progs[line].fail) { box+='<img src="../themes/'+Theme+'/InstallFail.gif" border="0" width="11" height="11">'; } } else { box+='<img src="../themes/'+Theme+'/spacer.gif" border="0" width="11" height="1">'; } box+='<img src="../themes/'+Theme+'/spacer.gif" border="0" width="2" height="1">'; box+='<font style="font-size:12px;">'+progs[line].prog+'</font>'; } box+='<br>'; } } else { currentLine++; if (currentLine>centerLine && topLine+maxLines<totalLine) { currentLine=centerLine; topLine++; } for(line=topLine; line<topLine+maxLines; line++) { if (line+1==pos) { box+='<img src="../themes/'+Theme+'/spacer.gif" border="0" width="13" height="1">'; box+='<font style="font-size:12px;"><b>'+progs[line].prog+'</b></font>'; } else { if (line+1<pos) { if (progs[line].success && !progs[line].fail) { box+='<img src="../themes/'+Theme+'/InstallSuccess.gif" border="0" width="11" height="11">'; } if (!progs[line].success && progs[line].fail) { box+='<img src="../themes/'+Theme+'/InstallFail.gif" border="0" width="11" height="11">'; } if (progs[line].success && progs[line].fail) { box+='<img src="../themes/'+Theme+'/InstallPartial.gif" border="0" width="11" height="11">'; } if (!progs[line].success && !progs[line].fail) { box+='<img src="../themes/'+Theme+'/InstallFail.gif" border="0" width="11" height="11">'; } } else { box+='<img src="../themes/'+Theme+'/spacer.gif" border="0" width="11" height="1">'; } box+='<img src="../themes/'+Theme+'/spacer.gif" border="0" width="2" height="1">'; box+='<font style="font-size:12px;">'+progs[line].prog+'</font>'; } box+='<br>'; } } CheckInstaller(); InstallWindow.document.getElementById("Install_prog").innerHTML=box; } function ClearProgressBar() { position="installer.js"; whatfunc="ClearProgressBar()"; CheckInstaller(); InstallWindow.document.getElementById("PB_text").innerHTML=""; CheckInstaller(); InstallWindow.document.getElementById("PB_bar").style.width=0; } function UpdateProgressBar(value) { position="installer.js"; whatfunc="UpdateProgressBar()"; if (value>=0 && value<=100) { if (value>9) { CheckInstaller(); InstallWindow.document.getElementById("PB_text").innerHTML=parseInt(value)+"%"; } CheckInstaller(); InstallWindow.document.getElementById("PB_bar").style.width=(value*3)+"px"; } } Greetings Al
  14. I want to use %CDROM% in the ExecuteBefore-Option but I get an error where the command should be executed. :-( This is my entry in useroptions.js: ExecuteBefore=['%CDROM%\\copywintools.cmd']; or ExecuteBefore=['%ROOT%\\copywintools.cmd']; And this is my modified FindCDRom(): function FindCDRom() { position = "generate.js"; whatfunc="FindCDRom()"; if (foundCDdrv) return cddrv; cddrv = fso.GetAbsolutePathName(".\\.."); debug("Found Root as folder " + cddrv,1,2); foundCDdrv = true; return cddrv; } This function works great on "normal" installs - but not on ExecuteBefore. :-/ I also tried this, without problems - except ExecuteBefore (I get the same error like above). :-( generate.js ... function GetRootDir() { position = "generate.js"; whatfunc="GetRootDir()"; root = fso.GetAbsolutePathName(".\\.."); debug("Found Root as folder " + root,1,2); return root; } ... function replpath(v) { position="generate.js"; whatfunc="replpath()"; var rs = new String(); cddrv = FindCDRom(); root = GetRootDir(); sysdrv = WshEnv("SYSTEMDRIVE") + "\\"; windir = WshEnv("WINDIR") + "\\"; programfiles = WshEnv("PROGRAMFILES") + "\\"; temp = WshEnv("TEMP") + "\\"; sysdir = WshEnv("WINDIR") + "\\system32\\"; allusersprofile = WshEnv("ALLUSERSPROFILE") + "\\"; userprofile = WshEnv("USERPROFILE") + "\\"; appdata = WshEnv("APPDATA") + "\\"; commonprogramfiles = WshEnv("CommonProgramFiles") + "\\"; rs = v; rs = rs.replace(/%wpipath%/gi,wpipath); rs = rs.replace(/%cdrom%/gi, cddrv); rs = rs.replace(/%root%/gi,root); rs = rs.replace(/%systemdrive%/gi,sysdrv); rs = rs.replace(/%windir%/gi, windir); rs = rs.replace(/%programfiles%/gi,programfiles); rs = rs.replace(/%sysdir%/gi, sysdir); rs = rs.replace(/%temp%/gi, temp); rs = rs.replace(/%allusersprofile%/gi, allusersprofile); rs = rs.replace(/%userprofile%/gi,userprofile); rs = rs.replace(/%appdata%/gi, appdata); rs = rs.replace(/%commonprogramfiles%/gi, commonprogramfiles); return rs; } The errormessage is: JavaScript Error Report Message: 'undefined' ist Null oder kein Objekt. Url: file://D:\\System\\WPI\WPI.hta File: generate.js Function: GetRootDir() Line: 150 But Line 150 is rs = rs.replace(/%cdrom%/gi, cddrv);?!? If I remove my function and use the default-FindCDRom() I get the same error on a Line between 140 and 150 (this is in replpath()). I also tried a original WPI-installation but I get the same error. :-/ Is this a WPI-bug? Again: All examples working great except for ExecuteBefore (ExecuteAfter not testet yet). Can anybody help to fix this problem? Thanks Al
  15. Can you give me a better link please? I found this Thread http://www.msfn.org/board/index.php?act=ST&f=70&t=63521 but I need a solution to install the framework before the first user logon. Do you know a possibility? Thanx Al
  16. I integrated .NET 1.1 in svcpack.inf like this (which worked without problems): "dotnetfx.exe /Q /C:""msiexec -i netfx.msi /quiet /norestart /qn ADDLOCAL=ALL REBOOT=ReallySuppress""" "langpack.exe /Q /C:""msiexec -i langpack.msi /quiet /norestart /qn ADDLOCAL=ALL REBOOT=ReallySuppress""" "vjredist.exe /Q /C:""msiexec -i jsredist.msi /quiet /norestart /qn ADDLOCAL=ALL REBOOT=ReallySuppress""" "vjredist-LP.exe /Q /C:"msiexec -i jsredist.msi /quiet /norestart /qn ADDLOCAL=ALL REBOOT=ReallySuppress""" and tried this for 2.0 "dotnetfx.exe /Q /C:""msiexec -i netfx.msi /quiet /norestart /qn USING_EXUIH=1 ADDLOCAL=ALL REBOOT=ReallySuppress""" "langpack.exe /Q /C:""msiexec -i langpack.msi /quiet /norestart /qn USING_EXUIH=1 ADDLOCAL=ALL REBOOT=ReallySuppress""" "vjredist.exe /Q /C:""msiexec -i jsredist.msi /quiet /norestart /qn USING_EXUIH=1 ADDLOCAL=ALL REBOOT=ReallySuppress""" "vjredist-LP.exe /Q /C:"msiexec -i langpack.msi /quiet /norestart /qn USING_EXUIH=1 ADDLOCAL=ALL REBOOT=ReallySuppress""" But since 2.0 it the Framework is not installed during the svcpack.inf-Installs. :-/ Doeas anybody know how I can install .NET 2.0 with svcpack.inf? Al
  17. Here a the links where you can find all the apps in my list. Al bookmarks.7z
  18. Config.7z Config.log: The Logfile generated by my batch-script which generates the config.js config.js: the generated config.js bookmarks.7z (in a later post) bookmarks.html: list of link where you can find the programs. Greetings Al config.7z
  19. Here is my programlist (most of them is freeware): Greetings :-) Al
  20. Is there a way to display the value of %CDROM% in WPI? Al
  21. Look at FindCDRom() in your generate.js and you will see how the CDROM-driveletter is determined. In your cmd1-6 you should now use %CDROM% instead of your CDROM-driveletter. Hope this helps (I didn't try it). Greetings Al
  22. 1. Have you checked if c:\install\WPI exist? 2. Have you checked the OemPreinstall is set to Yes in your winnt.sif (in [unattended]-section). Greetings Al
  23. I've already seen this topic but I only viewed the first page (I didn't recognized that there is a second page). Thanks anyway Al
  24. I get DivX Pro and want to do an unattended installation, which is no problem. But how do I have to register the Trial-version? --> I found no Registrykey. Can anybody help? Al
×
×
  • Create New...