Jump to content

lawrenca

Member
  • Posts

    129
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    United States

Posts posted by lawrenca

  1. I'll take a look at it but I won't be doing much more with kTool as we should be gaining the progress bar functionality in the new WPI 4.4rc2 (if it is still called that). Better performance and nicer GUI.

    Will lobby hard to add some of the extras I put in modified kTool to limit the number of external programs (Sleep, Killing Processes, closing down annoying readme windows after install, reboot flags, etc.). Having these in the config template makes it easier for me as I don't have to place paths in for these and carry those external tools.

    Will also try to get Greyed Condition (in my case, indicates program already installed) to parse the silent arguments and launch the setup.exe for repair, modify, uninstall. A pretty easy mod that I added in my copy of WPI.

    Would also like to see a more convenient configuration manager to make startup and maintenance of programs easier adding a filter by category so it is easier to manage UIDs, deps, and excls, and most importantly, install order. I use a tool I wrote myself to configure WPI, unfortunately, it is geared toward my modified version.

  2. New version of kTools included in my WPI Lite v1.2 Modified version.

    See this post for details:

    WPI Lite v1.2 Modified Version with new kTool

    Didn't exactly get the %KTREP% function working as presented in the kTool forum...seemed to add baggage to the WPI code that is already resolving its own %WPIPATH% and needed that %KTREP% hardwired in generate.js code. Maybe another look by smarter people? Did manage to work the Quotes issues with MSI and REG Commands.

    See Changelog included in download for more info, will try to put together a Help Document for those not familiar but provided a few examples inside the download to exercise the reboot options, multiple commands, Sleep, ProcessClose, etc. You would no longer have to make a call to these outside executables.

    As always, please keep the comments, bugs, features inside this thread as to eliminate confusion with the real releases of WPI!!

    Change:

    Due to several requests, I've added download for full version with the new kTool and modified features as described above.

    Download WPI Lite Modded Version Here

    Download Full WPI Modded Version Here

  3. ideas,

    If you are only looking for changing the functionality within the Setup.exe off the Windows CD (like in the custom autoruns folder-WindowsXP, Windows2003, and Windows2000, you can make most of the mods within ResHacker (look under String Tables for launch commands). You can also change out icon and bitmap resources with this tool.

    If you need more control and want to add extra pages, Autoplay or Demoshield might be a bit easier, both are commercial products but offer evaluation editions.

    Demoshield = $499 USD

    Autoplay Media Studio = $495 USD

    Macrovision will require you to enter credentials before download, not sure how the evaluation copy works as my company purchased the full version.

    Demoshield Download

    Autoplay Media Studio Download

    BTW, I was not the author of the tools you are downloading, they are in the original posts, I just happened to have them available from the original links. I don't use them but got "ideas" for my own projects.

  4. imthemp3king,

    Not sure if you were in on the WPI4.4rc1 testing, but made some enhancements to my WPI to include RebootFlag and Reboot capability. This version is definately not the release version of any kind as mritter and Kel have been working on a very nice solution for RC2.

    The RebootFlag checkbox will flag for reboot then after all the WPI Applications get installed, it will reboot your system.

    The Reboot checkbox will reboot your system after executing the last command of the current application, then pick up where it left off installing the rest of the apps when your system comes back up.

    These 2 functions are found as checkboxes under the Config Page of WPI.

    Be sure to make backup copies of your files as the code within my version will modify your config.js...it is not backwards compatible (at least I don't think).

    The download can be found at this post:

    Post of Potential Solution

  5. tmservo,

    Give this a try:

    You'll need to put your own information inside the sysprep.ini file and also add the drivers path inside of sysprep.bat. The key to making it run last is give it an order number higher than any of your other installs...999 in my case.

    Config.js entry:

    prog[pn]=['Sysprep']
    uid[pn]=['SYSPREP']
    picw[pn]=['128']
    pich[pn]=['128']
    textl[pn]=['Bottom']
    texti[pn]=['1']
    ordr[pn]=[999]
    cmd1[pn]=['%SystemDrive%sysprep\\sysprep.bat']
    dflt[pn]=['yes']
    cat[pn]=['Utilities']
    pn++

    Another important aspect in making the batch file work is setting the working directory inside of sysprep.bat as I make calls to several executables inside the sysprep folder to setup driver paths, shutdown services, and kill unwanted processes.

    You can download my sysprep folder here: Sysprep Folder and make changes to the .bat file to accomodate the factory switch or at least get an idea of how it could be done.

  6. All,

    I see about 28% CPU useage on a fresh install of Windows XP with SP2 on a CF-51 Panasonic Toughbook (2GHz Pentium-M Processor and 2GB RAM) just while mshta.exe sits idle (using WPI 4.3.8)...with a mouse over showing tooltip, this jumps in the range of 50-80% depending on the size of the tip.

    Beyond that, I still am getting the Slow Scripting errors on some more challenged machines (I still have about 140 systems fielded that run on 700MHz Processors and 256MB-512MB RAM...really notice the difference there!

    On the other end, my Dell WS370 and WS380 systems don't have a problem at all and I see numbers very similar to what mritter references.

    We definately owe Kel more specs on performance issues (with numbers attached) for actual install performance hits (audio vs. no audio, RunOnceEx vs. File or Memory Install, self-extracting exe vs. uncompressed installs, etc.).

    BTW, my config.js has just under 100 apps. Will double that when I add the lines to launch exe for modification, repair, or re-install (not silent).

  7. InViSibLe Gr,

    It appears that the current versions of WPI (4.3.8 and Lite 1.2) will actually overwrite "same" order numbers in the RunOnceEx registry key (by design). I've attached a sample config.js to assist with further testing.

    I tackle this issue by assigning categories a set of numbers.

    Example:  System (0-99), Microsoft (100-199), Commercial Apps (200-299), Graphics (300-399) and so on...

    This gives me the ability to track order numbers within categories just like your talking about. You could even go as far as adding these numbers within the Category Title.

    It would be nice if WPI had this filter by Category capability built in when managing the long list of apps in the config wizard to distinguish...Definately something I'll be exploring on down the road.

    config.js

  8. Shahram,

    You could also call a .bat/.cmd file like the one below after your MSI that will loop until the process (in this case, IKernel.exe) has ended. You will need the files TLIST.exe, SLEEP.exe, and cmdow.exe in order for this to work. I put those files in C:\Windows\System32 directory but you can place them anywhere...just add the paths to the executables adjusting the code for the batch file below.

    cmdow @ /HID
    @echo off

    :DEB
    TLIST -P IKernel.exe |FIND "-1"
    IF %ERRORLEVEL% == 0 GOTO FIN
    SLEEP 5
    GOTO DEB
    :FIN

    Extra files are in the attachment.

    Tools.zip

  9. apokok,

    Another way to attack this...write your Uninstall Keys>DisplayNames (or whatever you decide) to files then use the file checking on these newly written files. Wrote a rough cut using AutoIT (actually going to incorporate it in my wpi.exe because I use it to start WPI (compiled AutoIT that replaces the WPI.cmd). Compiled executable could be called from WPI.cmd if you like.

    cond and gcond would look like this:

    C:\WINDOWS\system32\UninstallKeys\"whatever your file would be called"

    Example:
    FileExists("%sysdir%\UninstallKeys\7-Zip 4.32")

    These files can be viewed in notepad or any other editor...you can compile them to .exe with AutoIT (free download).

    Incorporated into the latest version I am currently using (spin-off of 4.3.8 and 4.4rc1). Definately back up your data as this version will overwrite code, especially in config.js.

    Download My Version Here!

    Attached are my wpi.au3 and also a stand-alone .au3 that iterates through the registry and writes the DisplayName of "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"...Programs to the system32\UninstallKeys folder.

    WriteReg2File.au3

    wpi.au3

  10. apokok,

    The code for registry checking I mentioned above has changed since the latest releases of WPI, doesn't function quite right. I've included a sample of an older version for you but it was well before gcond existed...not sure all the code that's changed but I always had to suppress that message you are talking about (found in boxes.js line 69 in my file...I just comment it out).

    //alert("Error in condition statement for " + prog[i] + ":\n\n" + cond[i] + "\n\nTreating as a false condition.");

    I always deployed two of the same apps in my config.js...one that showed different color and would launch uninstall of an application and one for the silent install. I definately think it's easier to do the file checking for application existence...maybe some room for improvement on the newer versions?

    I've include the 7zip.reg file that will import the file for checking in the root of this zip and also the remove7zip key file.

    Download Here

  11. arjanv,

    The .au3 file can be modified with notepad but there are better editors...you must compile the .au3 with AutoIt. Free download here:

    AutoIt Website

    Once installed, you should be able to right-click on .au3 and click Compile.

    There are editors included with AutoIt and I highly recommend getting the SciTe Editor (available in downloads section, don't forget patch). SciTe installs a small utility (ScriptWriter) to Record Windows, Keystrokes, Mouse Clicks for those uncooporative silent installs or build some complex script easily. It also has a built in tool to Build/Modify GUIs and a whole host of other functions.

    Hope this helps.

  12. wixfigura,

    You can always add cleanup command to wpi.exe (you would have to modify wpi.au3 found in the tools folder of WPI4.4rc1, then recompile). This script will give you the flexibility of running any commands before or after the launch of wpi.hta. The script already contains a placeholder for reboot, cleanup, resolution changer and syntax for adding new commands.

    ;Cleaning up the desktop.
    $cleanup = "del /s/q "& chr(34) & "%userprofile%\desktop\*.lnk" & chr(34)
    ;Run(@ComSpec & " /c " & "start " & $cleanup,"",@SW_HIDE)

    Just uncomment/remove the";" in front of Run and change the $cleanup to indicate the file you wish to run.

    Example:

    Run(@ScriptDir & "\cleanup.cmd", "", @SW_MAXIMIZE)

    Where cleanup.cmd would be in the root of where wpi.exe lives and contains all the functions you wish to run for the cleanup.

  13. Try to modify generate.js in accordance with the code in this post

    http://www.msfn.org/board/index.php?s=&sho...ndpost&p=464314

    ...maybe we modify overall and require user to add in the "MSI=","RunWait=", "REG=", "DOS=", "REBOOT", etc.

    Will be more flexible on different types of installs and also add "REBOOT" and "WaitProcess" (would take the place of Sleep commands) which are current items being asked for in the threads...

    the config.js cmd lines would have to look like this:

    cmd1[pn]=['RunWait=%cdrom%\\WPI\\Install\\dotnetfx2.exe']
    or
    cmd1[pn]=['MSI=%cdrom%\\WPI\\Install\\cstools.msi /qn']
    or
    cmd1[pn]=['DOS=copy d:\file.txt c:\file.txt']
    or
    cmd1[pn]=['REG=tweak2.reg']

  14. Doc Symbiosis,

    Would love to see that work.

    The new generate.js with WPI 4.4rc1 doesn't write the registry either, it writes a kTool.ini file and is used when kTool.exe starts.

    For a later version of WPI...I could see moving files/apps (like Antivirus Updates, data files, etc.) that don't require admin privileges being "installed" by non-admin users with WPI as the front-end. Maybe some hook into the condition to only show those updates they have privileges for? I currently push about 20 of these type updates a month to machines that are just bundled in self-extracting executables.

  15. wpi.exe not starting, bug found by mritter.

    wpi.exe is looking for kTool.exe to launch in order to close out mshta.exe. I have seen problems with kTool.exe closing, so when wpi.exe gets relaunched, it closes immediately.

    Added code to wpi.exe to close kTool.exe before WPI.hta gets launched. Appears to be working for me, will pass on for other testers.

    Potential changes to generate.js:

    1. Write kTool.ini to different location based on Yurek3 observations (currently writes to user\TEMP)-line 34

    2. Will add debug support to not launch kTool.exe - line 303

    http://www.msfn.org/board/index.php?s=&sho...ndpost&p=462918

    3. When installing over 3 apps, I get the sub-progress bars but the label displays 'test' underneath. Will try to add Description of what is being installed (for our case, probably only 'Adding Registry Entries', and 'Installing Applications').

    4. Food for thought, though the "RunWait" is used about 90% of the time for kTool.exe and covers almost all options with the way WPI currently works, could potentially leave this up to the user to fill in, opening the other kTool options (I think the "REBOOT" and "WaitProcess" may be useful ones), the others are already covered by WPI.

    Instead of

    if ((programs[i].cmd1 != null)&&(path(programs[i].cmd1) != '')) WriteToFile("RunWait = "+substituteCommand(programs[i].cmd1));

    We would have:

    if ((programs[i].cmd1 != null)&&(path(programs[i].cmd1) != '')) WriteToFile(substituteCommand(programs[i].cmd1));

    Where the user would be responsible for adding in the "RunWait=", "REG=", "DOS=", "REBOOT".

    Will post modified code to ftp or another thread this evening.

  16. For Javascript, Or is written as || and is used when more than a one condition should result in the check being true. (|| is achieved by using the shift key combined with the \ key).

    You can combine multiple statements as long as they resolve as a boolean expression for Javascript.

    Example of Or:

    cond[pn]=['FileExists("%CDROM%\\WPI.ico") || FileExists("%CDROM%\\WPI.cmd")']

    Example of And:

    cond[pn]=['FileExists("%CDROM%\\WPI.ico") && FileExists("%CDROM%\\WPI.cmd")']

    Same goes for the gcond!

×
×
  • Create New...