Jump to content

sadicq

Member
  • Posts

    273
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Romania

Everything posted by sadicq

  1. Hehe, here's me spamming this thread again. I have an observation for Pliek: Although this is not solving the problem, you should adapt you config file to remove the double backslashes. I see L:\WPI\\Install\Apps\ ... which should be L:\WPI\Install\Apps\. Just open you config.js file and replace all \\\\ with \\ if you have any. If not ... look at the variable you're using ... It's something you should do just to be sure ... I'm now looking into the installer problem.
  2. well, I didn't look at your logs when I posted it and I looked just a few minutes over the code ... I think the modification I made is right, but not the one that solves the problem. Anyway, can you guys (kel or mritter) take a look at the code? I think item is replaced by the i variable in the InstallOne() function.
  3. Hmm, to be honest I never tried 5.0 on a real install. lmfao But I looked over the code for a minute or so and I think I found something that may interact if a program starts before the other one ends. So, you people who are encountering the problem, can you please try the following? Open installer.js Search for function InstallOne(item,cmdName) { position="installer.js"; whatfunc="InstallOne()"; var cmd, ReturnCode, result; CheckInstaller(); cmd=eval('programs['+item+'].'+cmdName); if (cmd==null || (cmdLine=ReplacePath(cmd[0]))=='') 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+' *** Fail *** (File does not exist): RegEdit /S "'+cmdLine+'"'); return; } if (cmdLine.indexOf(" ") != -1 && cmdLine.substr(0,1) != '"') cmdLine='"'+cmdLine+'"'; cmdLine="RegEdit /S "+cmdLine; } else cmdLine=handleCommand(cmdLine); try { ReturnCode=WshShell.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+'"'); }and replace it with function InstallOne(item,cmdName) { position="installer.js"; whatfunc="InstallOne()"; var cmd, ReturnCode, result; CheckInstaller(); cmd=eval('programs['+item+'].'+cmdName); if (cmd==null || (cmdLine=ReplacePath(cmd[0]))=='') return; if (cmdName=='regb' || cmdName=='rega') { if (!FileExists(cmdLine)) { programs[item].fail=true; cmdName=(cmdName=='regb') ? 'Reg Before' : (cmdName=='rega') ? 'Reg After' : cmdName; WriteLogLine(cmdName+' *** Fail *** (File does not exist): RegEdit /S "'+cmdLine+'"'); return; } if (cmdLine.indexOf(" ") != -1 && cmdLine.substr(0,1) != '"') cmdLine='"'+cmdLine+'"'; cmdLine="RegEdit /S "+cmdLine; } else cmdLine=handleCommand(cmdLine); try { ReturnCode=WshShell.Run(cmdLine,1,true); result='Success'; programs[item].success=true; } catch(ex) { result='*** Fail ***'; programs[item].fail=true; } cmdName=(cmdName=='regb') ? 'Reg Before' : (cmdName=='rega') ? 'Reg After' : cmdName; WriteLogLine(cmdName+' '+result+' (returned code '+ReturnCode+'): "'+cmdLine+'"'); }
  4. Of course it is fixed. The code snippet reffers to the new themes, if someone wants to make one or to adapt a 5.0 one. Every theme in the wpi 5.1 archive was updated to the new standard, so that's why you can't find "layerconfig".
  5. document.write('<font class="side" onClick="StopAudio(); stopInterval(); CreateFile(\'install\');" onMouseDown="' + InstallButtonDownPic + '" onMouseOver="' + InstallButtonOverPic + ' stm(getText(ttInstall),Style[0]);" onMouseOut="' + InstallButtonPic + ' htm();" /><i><b>' + getText(lblInstall) + '</b></i></font>'); I see a backslash before the htm() function call \ htm() Is that a typo?
  6. Well in js a string can be enclosed in 's or in "s. It doesn't matter. If you have the string a'b and use "s you'll get "a'b" But if you have a'b and you use 's you'd get 'a'b'. So how does js know whether the second one is the end of the string or just a ' inside the string? It doesn't. you'll have to specify this by escaping the char with a backslash. So the correct code is 'a\'b'. Now, if your string has lots of double quotes in it, you'll have to escape each one of them. Or to simply enclose the string into simple quotes. This why I modified your code replacing "s with 's. I personally use notepad2 and it helps me a lot with syntax highlighting ... You don't need to use a special editor, but that way you see if you have forgot to escape some special chars. If you have any other question or my explanation was not good enough, post back.
  7. I hope I understood you right this time. InstallButtonDownPic = 'continuebutton.src=\'./themes/' + Theme + '/installdown.gif\';'; InstallButtonOverPic = 'continuebutton.src=\'./themes/' + Theme + '/installover.gif\';'; InstallButtonPic = 'continuebutton.src=\'./themes/' + Theme + '/installbutton.gif\';';And document.write('<img src="" onError="' + InstallButtonPic + '" align="absbottom" class="mainbtn" border="0" name="continuebutton" id="continuebutton" onClick="StopAudio(); stopInterval(); CreateFile(\'install\');" onMouseDown="' + InstallButtonDownPic + '" onMouseOver="' + InstallButtonOverPic + ' stm(getText(ttInstall),Style[0]);" onMouseOut="' + InstallButtonPic + 'htm();" />'); Edit: small code enhancement.
  8. function InstallButtonDownPic() { document.getElementById("continuebutton").src="./themes/" + Theme + "/installdown.gif"; } function InstallButtonOverPic() { document.getElementById("continuebutton").src="./themes/" + Theme + "/installover.gif"; } function InstallButtonPic() { document.getElementById("continuebutton").src="./themes/" + Theme + "/installbutton.gif"; } document.write('<img src="./themes/' + Theme + '/installbutton.gif" align="absbottom" class="mainbtn" border="0" name="continuebutton" id="continuebutton" onClick="StopAudio(); stopInterval(); CreateFile(\'install\');" onMouseDown="InstallButtonDownPic();" onMouseOver="InstallButtonOverPic(); stm(getText(ttInstall),Style[0]);" onMouseOut="InstallButtonPic(); htm();" />');
  9. The modification kel said you to make prevents the error from happening. Once it has modified your config file, it remains that way unless you modify it by hand. So, to change all the entries to not default open the config.js file in a text editor and replace (ctrl + h) all the occurances of dflt[pn]=['yes'] with dflt[pn]=['no'].
  10. So, you removed the media player with nlite? Did you also removed 6.4? If you still have mplayer 6.4 (generally named mplayer2) you can do this: Open wpi.htm in your theme's folder (ex: \Themes\Glossy\wpi.htm) Search for <div id="mediaplayer" style="position:relative; display:block; z-index:100; overflow:hidden; width:300px; height:44px;"> <object id="MediaPlayer" width="300" height="44" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject"> <param name="SendPlayStateChangeEvents" value="1"> <param name="AutoStart" value="1"> <param name="uiMode" value="full"> <param name="PlayCount" value="9999"> <param name="Volume" value="100"> <param name="EnableContextMenu" value="0"> <param name="WindowlessVideo" value="1"> </object> </div> <script type="text/javascript"> if (PlayAudioInWPI) { document.all.MediaPlayer.url='./Audio/WPI.m3u'; } </script> Replace it with <div id="mediaplayerdiv" style="position:relative; display:block; z-index:100; overflow:hidden; width:300px; height:44px;"> <object id="MediaPlayer" width="300" height="44" CLASSID="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" type="application/x-oleobject"> <param name="SendPlayStateChangeEvents" value="1"> <param name="AutoStart" value="1"> <param name="PlayCount" value="9999"> <param name="Volume" value="0"> <param name="EnableContextMenu" value="0"> <param name="WindowlessVideo" value="1"> </object> </div> <script type="text/javascript"> if (PlayAudioInWPI) { document.getElementById("MediaPlayer").Filename='./Audio/WPI.m3u'; } </script> Now open optionswizard.js and search for if (PlayAudioInWPI) { document.all.MediaPlayer.close(); document.all.MediaPlayer.url=''; } Replace it with if (PlayAudioInWPI) { document.getElementById("MediaPlayer").stop(); document.getElementById("MediaPlayer").Filename=''; } If you did not remove the media player with nlite, you can do another minor change in optionswizard.js. The code I gave last time worked for me curiosly but it is not correct. So search for if (PlayAudioInWPI) { document.all.MediaPlayer.close(); document.all.MediaPlayer.url=''; } and replace it with if (PlayAudioInWPI) { document.getElementById("MediaPlayer").controls.stop(); document.getElementById("MediaPlayer").url=''; }
  11. The PlayAudio() function in optionswizard.js is empty and I think it is obsolete.
  12. No, I only have the latest build which comes with the tools archive. I'll attach this one for you. It works for versions 3.8 - 5.1 I guess. Maybe others, who knows ... config_lister.au3
  13. Thanks for the config file oneless ... it is really amazing how much work you put into this. And I think I have a fix for your problem: Open program.js and search for the ProgsInCat() function. It starts like this: function ProgsInCat(whichCat) Replace the whole function with this one: function ProgsInCat(whichCat) { position="program.js"; whatfunc="ProgsInCat()"; var i, res; res = 0; for(i=1; prog[i]; i++) { if (cond[i] && cond[i][0]) if (cat[i] && cat[i]==whichCat && eval(unescape(ReplacePath(cond[i][0]).replace(/\\/g, "\\\\")))) res++; else; else if (cat[i] && cat[i]==whichCat) res++; } return res; } If this doesn't work, I'll look again. But if this will get implemented (actually fixed) in the next release, you (kel and mritter) should change the code a little bit by saving every condition result in a vector (or matrix) so the evaluation takes place only one time for each program. The modification I made now will definately increase the load time for large config files like oneless'. So, to be on-topic, I must report a bug I think that it has been submitted before: when you have hidden programs because of the false cond statement, the category checkbox can be checked but not unchecked. There are some minor issues with the boxes.js ... it takes a very long time to parse it, so I think it can be optimized.
  14. Actually it should work without cmd /c. Maybe it didn't work because it was taskill instead of taskkill?
  15. Please do the following: Open optionswizard.js with a text editor (notepad). Search for the line document.all.MediaPlayer.close(); Replace the whole line with document.MediaPlayer.stop(); Tell me if this is working.
  16. Could you be more precise? I don't quite understand a few things. Are you trying to install the Media Player or just enable it in wpi? If it is the second option, have you used nlite to remove the media player from windows? And something I should have asked first: are you getting an error message? If so, please post a screenshot here or at least write the error here so we can see it.
  17. Maybe you tell us where the error was coming from... I'm curious.
  18. Looks great so far. I just noticed there are some misclosed tags in the themes htm's, like </img>. And another one ... the id "MediaPlayer" is defined twice ... it may interact ... *shrug* And a small typo in core.js whatfunc="FileExits()";
  19. are you using double quotes when reffering to them? cd Documents and settings won't work, while cd "Documents and settings" will work. Every string that contains spaces must be enclosed in double quotes ... Also take a look at the quotes system in autoit. It has something special ... Good examples: _RunDos('rd "blah blah"') _RunDos("rd ""blah blah""") Edit: about the variables in WPI: if tou use its integhrated editor you simple put double quotes in the command. If you edit the config.js directly (with notepad for example), don't forget to escape your "s with a backslash, like rd \"blah\".
  20. Well, %cdrom% will return something like F: if - wpi.hta is in the root of the drive - win51 is in the root of the drive - driver.cab is in the i386 folder on the drive (i386 must be in the root too) - if none of the above, it will return the first directory that contains wpi.hta looking in the current path Let's say the current path is C:\temp\wpi\blah and you have your wpi.hta in C:\temp. WPI will look for it in C:\temp\wpi\blah. Because it can't find it, it will look for it in C:\temp\wpi. Because it can't find it, it will look for it in C:\temp. So it will return C:\temp. - if you have no wpi.hta in any directory in the current path, cdrom will return the drive from which you installed your windows. Attention: this is "translated" by me from the code I saw in generate.js. It may very well be wrong. On the other hand, %wpipath% returns the path to the folder from which wpi.hta is ran. So, for only one normal disk, both will do the same. But if you have 2 cd's with wpi in your drives, I guess %cdrom% will always return the first drive, while %wpipath% will return different things. I hope I'm right
  21. Are you sure the command doesn't execute right before the program starts (I mean it takes some time for the firewall to start, so the command may get executed after the firewall si installed but before it runs). The same syntax works perfectly for me, but I had to make something like this for a program: cmd3[pn]=['ping localhost -n 11'] cmd3[pn]=['cmd /c taskkill /F /IM zlclient.exe'] This will pause the script 10 seconds before moving to the taskkill command.
  22. WPI can't parse those commands directly, so we'll pass them to the cmd like this: cmd3[pn]=['cmd /c xcopy /Y /e /Q "%cdrom%\\WPI\\Install\\Apps\\WindowBlinds5.0\\File" "%programfiles%\\Stardock\\Object Desktop\\WindowBlinds\\"'] cmd3[pn]=['cmd /c taskkill /F /IM zlclient.exe']
  23. Of course it won't change. That line is commented out. To change the color, go to wpi.css in your themes folder and search for .hrulebox The line under .hrulebox is something like color: #000000;. Modify it to whatever you want. Ex: #00FF00
  24. Hmmm, everyone is trying to guess what that variable is ... if (DiscPath == 'root') TempSource = TempSource.substr(0,3) + u[1]; // return the drive letter of the CD/DVD drive. eg. D:\ | E:\ | F:\ etc. So this should clarify what it is ... But, to stay ontopic, I ain't using it yet. I don't understand why you would want to remove such a nice feature... I'm really considering using it my next UA cd.
×
×
  • Create New...