I have 2 requests for the WPKG Project ( ok.. there's more than that, but here's the most pressing! :) ) My desire is for the WPKG Installer to delay logon as long as the WPKG.js process is still running.. Not just X configurable minutes ( maybe an option to do either is in order ). And, I would love it if the User message that's displayed has feedback on what WPKG.js is currently doing ( along with how long it's been doing it ). My solution: The delay dilemma can be addressed by watching the HKLM\Software\WPKG\running Registry Key ( already supplied by WPKG.js ). The feedback could be address by adding a new key to the WPKG.js proccess.. ( I propose HKLM\Software\WPKG\current ). The timer could be easily managed by adding a time since last change variable in the WPKG Installer code, and output that every second to the status screen it displays. Suggesting a 'previous_message' comparison to 'current_message' and then resetting the timer when those two don't match, as well as updating the status message when they change to reflect the new task. I've done the easy part... I added the registry key code to wpkg.js. But, I've gotta admit.. my Win32 C++ skills are a lil rusty.. Would greatly appreciate the WPKG-Installer maintainer adapting the code to accommodate this request before I dig out some C++ reference material and hack it up.. :) Thanks! Michael J. Kidd Patch against 0.9.10 version of wpkg.js follows: --- wpkg-orig.js 2007-01-23 14:17:29.000000000 -0500 +++ wpkg.js 2007-01-23 14:22:52.000000000 -0500 @@ -147,6 +147,7 @@ var sRegPath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall"; // here we indicate our running state var sRegWPKG_Running = "HKLM\\Software\\WPKG\\running"; +var sRegWPKG_Current = "HKLM\\Software\\WPKG\\current"; /******************************************************************************* @@ -973,6 +974,18 @@ return val; } +function setCurrentState(statename) { + var WshShell = new ActiveXObject("WScript.Shell"); + var val; + + try { + val = WshShell.RegWrite(sRegWPKG_Current, statename); + } catch (e) { + val = null; + } + + return val; +} /** * Scans uninstall list for given name. @@ -2291,6 +2304,7 @@ * Logs or presents an info message depending on interactivity. */ function info(message) { + setCurrentState(message); if (quiet) { log(4, message); } else { _______________________________________________ wpkg-users mailing list wpkg-users at lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users |