Re: [wpkg-users] %SOFTWARE% variable
Hi Marc Marc Cuypers wrote: In the silent installs the variable %SOFTWARE% is used. I tried to set it with the wpkg-client (general/wpkg variable). But it seems not to be expanded. Is there a problem with this expansion. No, no known problem with the expansion and I use this feature daily. You just need to define the SOFTWARE variable within WPKG-client. Do not specify the % sign within the specification. Just add a variable called SOFTWARE pointing to the share used \\server\share. So check the variable definition that you do NOT include any % signs and check for typos. Second question: Where does the wpkg-client save its configuration data? This can be answered by some WPKG client developers ;-) HTH Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Can WPKG install packages while user is at desktop
Hi both, First of all the package should contain some checks. The package below checks for existence of the seamonkey.exe file. If it does not exist, then WPKG will re-install the package (at least 1.0+ versions of WPKG). Sure you need to run the wpkg.js script using a user which has belongs to the Administrators group. If not sure then make sure your task runs with SYSTEM privileges. By the way running something like 'cscript \\server\share\wpkg.js /synchronize' is one possibility. If you use WPKG client then you have a system service installed called WPKG Service. This service ensures that WPKG runs with SYSTEM privileges (by default, if not configured to another account). If you use WPKG client, then you might simply schedule a task using the following command: net start WpkgService NOTE: Also here you need to make sure that the user executing the command has privileges to start/stop services. Using this setup WPKG can try to synchronize software at windows startup as WPKG client is run automatically at startup by default. If it fails it might be periodically (or at a specific point in time) started by the task scheduler of Windows. Please also consult the home page of WPKG at http://wpkg.org/ for WPKG package specifications. For example you can find ready-to-use package definitions for Firefox which have been tested quite well. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Can WPKG install packages while user is at desktop
Hi Steve, I used the Firefox xml from the site. It worked twice but I had to increment revision by 1 each time I unistalled the Mozilla firefox to test it. So does this mean each time the revision has to be incremented. If so, then how can I automate this process. When ihave offsite users, how is the xml file going to be incremented? When I look at the XML definition there is one single check: check type=file condition=exists path=%programfiles%\mozilla.org\SeaMonkey\seamonkey.exe / So if seamonkey.exe does not exist, then the package is re-installed. Or I should write it _would_ be reinstalled. It is not because the execute=once flag is set. This means that WPKG just installs it ONCE and never checks again if it is still installed. Just remove the execute='once' attribute completely and you will see that WPKG is going to re-install the package in case the check fails (ie if seamonkey.exe is deleted). I don't know who inserted that execute=once flag but if I find some time I will check the definitions on wpkg.org. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Can WPKG install packages while user is at desktop
Hi Adam Adam Williams wrote: execute=always ? This will force the package to be re-installed ALWAYS - no matter if that version (or any other) is already installed. This is not recommended. I use it only for one single package - the WPKG XML backup to copy the local wpkg.xml to a network share. This package does not define any checks and defines execute=always - so it is run on every synchronization. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Can WPKG install packages while user is at desktop
Hi Adam, My understanding is that even with execute=once, when the revision is incremented, it will rerun the check/install/upgrade. am I mistaken? What do you mean by it will return. Let me explain the 1.0+ algorithm regarding this: If execute=once is set: - if the package is not installed (not in local wpkg.xml) - execute checks to verify if software is actually already there - if yes, add it to wpkg.xml - if no, install it and add it to wpkg.xml - if package is installed (entry in wpkg.xml already exists) - check revision - if new revision is available = upgrade and update wpkg.xml - if revision on server is equal or lower = skip, leaving entry If execute=once is not set: - if package is not installed (not in wpkg.xml) - execute checks to verify if software is actually already there - if yes, add it to wpkg.xml - if no, install it and add it to wpkg.xml - if package is installed (netry in wpkg.xml already exists) - check version - if new revision is available - upgrade - add to wpkg.xml - if revision on server is equal or lower - execute checks to verify software is installed - if installed, skip - if checks fail, re-install So proper checks will on one side speed up installation of a package in case the software is already there (it will not be re-installed if it is already installed). And on the other side it will make sure that the application is really installed on each WPKG execution in case execute=once is not set. So again. execute=once is used to tell WPKG that a package is a one-shot installation. Kind of fire-and-forget. No matter if the user is going to uninstall it or not - it will not be verified. Unless the user removes the package manually from the local wpkg.xml (but this is not done by uninstall procedures of any application). Hope that clarifies slightly the (quite complex) algorithm behind. This algorithm is also the reason why I am very careful when touching the install method within wpkg.js. There are really a lot of special cases and flags taken into account. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Can WPKG install packages while user is at desktop
Hi Steve, Steve Handy wrote: Assuming this is true I need a way to eliminate the incrementing feature Please see my answer to Adam regarding this. You don't need to increment the version to make sure a package is verified/re-installed. Just define appropriate checks and do _NOT_ use execute=once. If you use execute=once it does exactly as the name implies, it executes this version just ONE SINGLE TIME. No further verification on the package is done during subsequent wpkg runs. Only if you increment the version on server side the package will be upgraded. So use execute=once only (and really ONLY) in case you want to install a package, make sure it is once installed and then forget about it (no matter if somebody is going to uninstall it or not). Again, if you want to verify that a package is not removed by the user, then do NOT use execute=once and define appropriate checks instead which make sure the software is actually installed. Also do not specify execute=always as this will re-install the package on each synchronization. This could lead to quite high server load and annoy users if all software is re-installed on each boot-up :-) So just omit the execute=... flag by default but make sure that you define appropriate checks. WARNING: If you do not use any execute=... flag AND do not specify any checks, then the check will always return false, not installed. Therefore the effect is similar (not exactly the same, but similar) to specifying execute=always. So let me repeat again: - do not specify any execute=... flags if you don't have special requirements - Specify appropriate checks which return true in case the software is installed properly br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Can WPKG install packages while user is at desktop - Lets move on the 2nd problem
Hi Steve, Steve Handy wrote: One more thing though. Why is it that when I uninstall the firefox, and then run the cscript \\ /sync.., the program doesn't install. As written already many times either you used execute=once or the checks still evaluated true. In case (parts) of an application is still running it is quite common that the uninstall entry is not entirely removed until the next reboot (when uninstall is finished, files are removed and uninstall entry is cleanded). So WPKG might still find the uninstall entries unless you reboot and therefore thinks the application is still installed. Let's move on Rainer: So basically what I have I good. Great. Okay, now here is the 2nd dilemma. We have employees here at my organization. They have offsite laptops. Currently they use the Windows PPTP VPN client to connect to the company from outside. When they initially boot, they DO NOT HAVE a network connection established. (So WPKG will NOT install software at this point). When they arrive at their respective desktops, they establish a network connection via Sprint broadband air cards they have. They then click the VPN icon to establish a VPN connection into the company. Here is where WPKG comes in, I need the WPKG to execute the cscript \\Store1\WPKG\wkpg.js /Synchronize /quiet and check for packages that need to be installed. (and install if necessary). How do I make this happen? Well, you don't need WPKG to invoke itself as you wrote. You need to configure your VPN software to run WPKG when the connection is up and running. I know that some VPN clients (OpenVPN for sure) allows you to define some scripts to be run after connection establishment. There you can simply add a batch script to execute WPKG. Today I wrote already as an answer to another request that you might simply run the WPKG service from command line instead of manually invoking the wpkg.js script. Of course this only applies if you installed WPKG client and the service is available. If yes, then you might use the command net start WpkgService to run the WPKG service again. This works perfectly fine if you configure WPKG client to terminate after wpkg.js terminated (see configuration). If not, then you might need to execute 'net stop' before to terminate the still running service: net stop WpkgService net start WpkgService NOTE: The user executing this commands needs privileges to start/stop Windows services. Alternatively you might execute WPKG on a regular base using the Windows task scheduler (twice per day? up to you...). WARNING: If you run wpkg.js manually (using 'cscript ' then all variables defined in WPKG client are not defined. You need to write a small batch script which is doing this part of WPKG client if you like to do so. Something like: @echo off set SOFTWARE=... cscript \wpkg.js /synchronize In addition we are now eliminating the PPTP VPN client method and using a SSL VPN method where our employees are taken to a webpage via a public url https://portal.callglobalcom.com and thru active x components are brought inside the company How can WPKG work in this scenario? The SSL VPN is created by a Sonic Wall device. Again, you need to ask your VPN provider how to implement a post-connection script where you can run WPKG. Or just run it regularly using the task scheduler. Most VPN solutions should support such a requirement. If not then you can go for the task scheduling option or ask users to execute the software update manually after connection (which is the last option I would go for). If you need to use the task scheduler you can (AFAIR) create a task which is run as the SYSTEM user. Just execute the 'net start WpkgService' command as described above by such a task. If you do this twice a day it will not affect users too much. Recent versions of WPKG client also allow you to check server connectivity first. So if WPKG client (invoked by 'net start WpkgService') discovers that your 'server.companydomain.local' does not exist, then it will even not try to invoke wpkg.js and terminate immediately. HTH, Rainer HTH, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Thanks for everything - WPKG is nice but it still needs improvement
Hi Steve, I tried it and it said no parameters specified. Look at the WPKG parameters. You did not specify a command. /force is just a flag - /synchronize or /install are the commands. So use 'cscript ... /synchronize /force ...'. However there seems to be another bug left in wpkg.js which makes the /force flag not to work in 1.0-RC8. You wrote that after removing Firefox, rebooting and then manually executing WPKG it did not re-install it. This is exactly the situation I testet many many times and it works perfectly. So please supply the following information: - WPKG log file (make sure debug level logging is enabled within config.xml) - run WPKG with /debug flag after your reboot (when FF is not installed) - Attach the log and your Firefox XML definition here. I am quite sure either your checks still evaluate true (FF installed) or WPKG fails to execute the commands (share not available, path wrong, whatever). The log will tell us. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Thanks for everything - WPKG is nice but it still needs improve
Hi Steve Steve Handy wrote: Alright Leon and Jens it worked. Took a while, but we got it. Cool. I also tried to rerun the script again it didn't reinstall it. Okay. The force switch works. My faith has been restored. And I will (again) have a look at the issue that FF did not re-install after manual removal of the package. However I just did exactly this 10 minutes ago. Removed OpenOffice, FireFox and some other programs manually via the control panel. Then invoked WPKG service again and all the programs got re-installed. My WPKG client config (using WPKG-Client-1.2.0.msi, final): ?xml version=1.0 encoding=UTF-8? configuration file\\software\RemInst\wpkg\wrapper.js/file path-userDOMAIN\instadmin/path-user path-password=/path-password exec-userSYSTEM/exec-user exec-password/exec-password parameters/synchronize/parameters silentYES/silent pre-action/pre-action post-action/post-action show-GUINO/show-GUI logon-delay0/logon-delay logon-message-1Anwendungen und Einstellungen werden installiert./logon-message-1 logon-message-2Bitte nicht neu starten oder ausschalten./logon-message-2 script-variable name=SOFTWARE\\software\RemInst\software/script-variable script-variable name=SETTINGS\\software\RemInst\settings/script-variable script-variable name=WPKG_PROFILEautosetup/script-variable prioritynormal/priority stop-service-after-doneYES/stop-service-after-done laptop-modeYES/laptop-mode server-connecting-methodstandard/server-connecting-method server-connecting-ipsoftware/server-connecting-ip server-connecting-timeout3/server-connecting-timeout server-connecting-script-timeout3/server-connecting-script-timeout server-connecting-script-file/server-connecting-script-file /configuration My Firefox XML: ?xml version=1.0 encoding=utf-8 ? packages package id='Firefox' name='Mozilla Firefox' revision='20013' priority='50' reboot='false' !-- Mozilla Firefox Webbrowser -- check type='uninstall' condition='exists' path='Mozilla Firefox (2.0.0.13)' / install cmd='%SOFTWARE%\software.free\Firefox v.2.0.0.13\unattended.cmd' / remove cmd='%SOFTWARE%\software.free\Firefox v.2.0.0.13\unattended-uninstall.cmd' / upgrade cmd='%SOFTWARE%\software.free\Firefox v.2.0.0.13\unattended.cmd' / /package /packages The unattended*.cmd scripts do nothing different than installing FF silently: unattended.cmd: @echo off set BINARY=Firefox Setup 2.0.0.12 de.exe set INSTALL_LOC=%~dp0 set PROG_FILES=%ProgramFiles% if not %ProgramFiles(x86)% == set PROG_FILES=%ProgramFiles(x86)% set EXIT_CODE=0 echo Installing Mozilla FireFox start /wait Firefox %INSTALL_LOC%%BINARY% /S EXIT_CODE=%ERRORLEVEL% echo Setting default browser start /wait Firefox defaults %PROG_FILES%\Mozilla Firefox\firefox.exe -silent -nosplash -setDefaultBrowser REM Cleanup call %INSTALL_LOC%cleanup.cmd exit /B %EXIT_CODE% unattended-uninstall.cmd: @echo off echo Removing Mozilla FireFox set PROG_FILES=%ProgramFiles% if not %ProgramFiles(x86)% == set PROG_FILES=%ProgramFiles(x86)% start /wait Firefox %PROG_FILES%\Mozilla Firefox\uninstall\helper.exe /S br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] install the wpkg client manually
Kent Tong wrote: Hi, Is it possible to install the wpkg client manually (as opposed to running the msi file)? Hmm, it might work if you just copy all the %ProgramFiles%\wpkg files to the host. Additionally you need to add the service to start WPKG at Windows startup. To achieve this you might be able to export HKLM\SYSTEM\CurrentControlSet\Services\WpkgService and import it on the target machine. I am not sure if WPKG client adds this entry by itself or if there is a switch to the wpkginst.exe binary to achieve this. Probably Tomasz Chmielewski can answer this. I am asking because trying to install the wpkg client v1.2.0 on our Windows 2003 Terminal Server failed with the error This application has requested the Runtime to terminate it in an unusual way. Whatever unusual way means. Well, a WPKG client developer might give some comments to this as well. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Old version reinstall - WPKG is nice but it still needs improve
Hi Tomasz, Filemon and Regmon are your friends, then. Check where the program wants to write files/registry, and make those writeable by all. Involves 5-30 minutes of work, works for 99% of admin-only software, and is far better than granting admin rights to all users. Full ACK. I forgot to mention this. In fact I got all programs in use by me working without any admin rights. Most of them need write access to some *.ini files within the %ProgramFiles% tree which can be fixed by adding a simple cacls/icacls command within a postinstall script. Some applications can even be configured to write the configuration files correctly to the %AppData% tree. For example for IrfanView just copy i_view32.ini to the install folder overwriting the default one. Use the following contents: [Others] INI_Folder=%APPDATA%\Irfanview Et voila, IrfanView is able to store user settings independently for each user, without admin rights. The same for winamp. Just put 'paths.ini' to the install folder using the following contents: [Winamp] inidir=%APPDATA%\Winamp m3udir=%APPDATA%\Winamp cwd=%APPDATA%\Winamp And Winamp stores the files to your profile not requiring any admin rights any more. I use one simple trick for some ugly software where versions etc. are unpredictable: set %UGLYSOFT%=10.2 install_this install_that echo %date% %time% C:\uglysoft\INSTALLED_%UGLYSOFT%.TXT Wow, very ugly - but might work. WPKG can now even check for existence of the C:\uglysoft\INSTALLED_10.2.TXT file :-) br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Thanks for everything - WPKG is nice but it still needs improvement
Hi Steve, Steve Handy wrote: Here is the log file you requested. By the way, the documentation on the flags DOES NOT specify that /synchronize is a command. Only a flag. This explains the mistake I made earlier when you specified that I wasn't following the documentation closely in your earlier email. You are right that the word command is not used - I was mistaken by that. But wpkg.js /help clearly writes: [...] Frequently used parameters (package operations, you need to chose one) [...] /synchronize [...] Optional parameters (usually defined within config.xml) [...] Rarely used parameters (mainly for testing) [...] /force [...] So it is referred as package operations instead of command. Additionally I don't know which part of you need to chose one is so hard to understand. Anyway, this is not important to solve the problem. You have been pointed to the fact that you need to specify /synchronize or any other operation in conjunction with /force. While the /force in cojunction with /synchronize seems to be broken (according to error report, had no time to verify yet). The file you attached is a package definition. Not the requested log file. So again I request you to send the full execution log file. Look at config.xml to see where it is stored by default. Please send a full verbose log of the wpkg-run which is initiated when Firefox is actually not installed. Please also send a snapshot of wpkg.xml found at %SystemRoot%\system32\wpkg.xml. Additionally I had a look at the package definition. I see that it defines that either one of the uninstall entries have to be there: - Mozilla Firefox (2.0) - Mozilla Firefox (2.0.0.13) AND - %PROGRAMFILES%\Mozilla Firefox\firefox.exe needs to be in place. You could verify these conditions manually after removing Firefox. Check if the uninstall entries are correctly removed. Checks without logical conditions need to evaluate true. Therefore in your case FF is considered not to be installed if either one or both of the uninstall info are missing or if firefox.exe is missing. ... but hey, I think I see the problem. Firefox recently changed the silent flags from -ms to /S. At least I am using the /S flag within my unattended.cmd. So you might try the attached Firefox.xml file. If I am right here we could have seen this from the log file. WPKG tries to re-install Firefox each time it is run but fails to do so as it will either fail or simply stuck in the background waiting for the user to press OK on a message box which shows that you're using a wrong switch. br, Rainer wpkgpackage id=firefox name=Mozilla Firefox 2.0.0.13 revision=20014 reboot=false priority=10 check type=logical condition=or check type=uninstall condition=exists path=Mozilla Firefox (2.0)/ check type=uninstall condition=exists path=Mozilla Firefox (2.0.0.13)/ /check check type=file condition=exists path=%PROGRAMFILES%\Mozilla Firefox\firefox.exe/ install cmd=quot;\\Store1\Mozilla\Firefox Setup 2.0.0.13.exequot; /S/ upgrade cmd=quot;\\Store1\Mozilla\Firefox Setup 2.0.0.13.exequot; /S/ remove cmd=quot;%PROGRAMFILES%\Mozilla Firefox\uninstall\helper.exequot; /s/ /package /wpkg - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Ugly perl script to check if packages are installed on a set of workstations.
Hi Chris, Chris Crow wrote: I was going to wait, and clean up this script, but I don't think I will ever come back to it. There is always too less time - or too many ideas... This script needs to be copied to the root of the wpkg share, and it evaluates the following locations: hosts/*.xml packages/*.xml profiles/*.xml status/*.xml (status is the directory where I copy the wpkg.xml files from all of the workstations) When you run the script, it will evaluate the list of packages that should be installed with the packages that are install on each computer in the status directory. It then prints the differences. If the program gives no output, then everything is up to date. I use this program to send a list to our desktop techs about which computer are out of compliance. I would love any feedback or improvements from anyone, or if you have a better way to get this type of information. Thanks a lot for your work. From the first (quick) look it seems to be quite a clean script which could help sysadmins. In fact I plan to add such scripts to a kind of 3rd-party-tools folder within the WPKG distribution. However I would like to have at least a short README which describes what it is doing and how to use it. I know this is the annoying part but I think just including this script is quite useless if nobody knows what it is doing and how to use it. You might add some basic usage comments to the header and a small README. For your script it might even need some more documentation as it implies that you have a package with execute=always flag running which copies the local wpkg.xml to the server share. So a how-to-setup section within the README is absolutely mandatory. I hope you can find some time to add these things. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Thanks for everything - WPKG is nice but it still needs improvement
Dear Steve, Steve Handy wrote: You know Rainer this conversation between you and I is starting to get a little out of hand and scope if you want to be honest. I came to you for help and yet I am getting reprimands and a lot offensive comments. If you are not going to communicate in a professional manner, then please don't communicate with me at all. I can certainly find help via different channels. OK, I think in every single post I did here I tried to solve your problem. From your side I just miss the information I and others have asked for several times. This is very very frustrating and leads to some wild guesses. This just wastes our time. It was not my intention to offend you. Probably everybody here agrees to you that I offend you and I am not able to communicate in a professional way. In this case you're right, I should stop reading the mailing lists here and let you get some help from somebody else. From my perspective you're already offending people by the arrogant way of top-posting here and expecting people to solve your problem without delivering appropriate information. So I will stop to communicate to you now, leaving you alone. Hopefully somebody else is willing to waste his time trying to solve your problems. Your documentation on wpkg.org needs to be specific. When visitors first arrive they aren't going to looking for the wpkg.org /help. They are going to be looking at the wiki which is posted. If it was clearly stated which are flags, which are commands, then no confusion would have existed on my part. Yes, the documentation is an issue we should address. I already mentioned this several times. Unfortunately nobody is volunteering to do massive updates on the wiki and writing documents. I did already lots of updates to the documentation of wpkg.js, mainly directly within the script. There are now even more Javadoc and other comments than code. The /help page has been re-structured and grouped which already explains quite a lot to new users. What about you? Probably you can provide some enhancements instead of just complaining about the weaknesses. WPKG is an open project. Feel free to write a beginners guide summarizing all your problems and how you managed to get around them. Most of the people here work with WPKG since quite a long time. For us it is not that obvious what the problems of beginners are. So in this case thanks for your input, I will refer to the commands as operations in the future for consistency reason. In any case documentation can never answer all the questions. Especially if users do not read it. By the way - I am not sure if you read my complete reply to your message or if you just stopped on top since you felt offended. However I tried to solve your problem once again. So you might try my suggested fix as outlined. If you don't because you are pissed off now... your decision. Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Thanks for everything - WPKG is nice but it still needs improve
Hi Jens Jens Geile wrote: but hey, I think I see the problem. Firefox recently changed the silent flags from -ms to /S. At least I am using the /S flag within my unattended.cmd. I've been using -ms -ira as install parameter for firefox.exe for quite some time now. Today I updated to 2.0.0.13 and the switches are still working for install and update. You are right - in fact both switches (-ms, /S) should still work according to the specification. But -ms might disappear as it is deprecated. see http://wiki.mozilla.org/Installer:Command_Line_Arguments br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Ugly perl script to check if packages are installed on a set of
Hi Jens Jens Geile wrote: 1. I've written my own webinterface which combines Unattended and WPKG and is linked to the webinterface for the DHCP configuration. 2. My packages.xml, hosts.xml, profiles.xml files are actually stored in the PSQL database and WPKG just downloads the .xml files from a password-protected website. 3. WPKG is writing the wpkg.xml files for each computer onto the server instead of the local harddrive of the client. 4. My webinterface parses the hostname.xml files in the status directory and compares the revision number in the .xml files with the revision numbers in the database. 5. The webinterface then shows which packages should be installed, which packages should be installed through dependencies, which packages are actually installed on the system and also shows the revision of the software on the client and in the database along with a short text message telling the admin that there is something wrong. 6. To make it a little easier I've added small icons on the overview page to show whether something is wrong or everything is alright. (little lightbulb = everything ok, warning symbol = somethign wrong; see attached images) I've attached two pictures to show you the overview page for my profiles (Unattended settings, Hosts-Profile relation, Software-Profile relation) and the status report window which is available for every client. The different status messages available are the following: - Not installed and not in profile - Not installed - Not in profile but installed - Package not updated - Installed package is newer than in the profile - Ok Wow, impressive feature list. Looks like it could be some kind of replacement for the WPKG web GUI. I also like the vistual representation very much. Just the light bulb I would replace with a typical green tick mark and a failure with a typical red cross. The warning symbol I like :-) And before anyone asks, I cannot make my webinterface public because its completely integrated into the webinterface of our server and fully depends on it. I've given Thomas access to it in the past so he could check it out but I think it kinda overwhelmed him. :p Too bad. Anyway, I hope you can get some ideas out of my solution and distribute it to the public, Chris. Would be great to turn it into a stand-alone situation. I guess you did not have to do changes to the wpkg.js script as it allows you to store wpkg.xml anywhere. Probably you needed to change the naming scheme? When I think about it probably a naming pattern like for the logfile could be introduced to evaluate the name of the settings file. At least [HOSTNAME] and [PROFILE] could be helpful here. The same applies to the settings storage path. A least environment variables are already expanded. So something like %COMPUTERNAME% probably already works. In any case it looks very promising. However it would most likely need a lot of manpower to turn it into a generic solution including documentation to set it up properly. Currently it looks like we don't have this manpower but who knows... br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Cannot install wpkg on W2k3 Terminal Server
Hi Tomoasz, Tomasz Chmielewski wrote: Probably, the installer needs some love on Windows 2003. I can't give you any help right now, and what's worse, I don't have access to a Windows 2003 installation I could experiment on. Probably Alan could try an earlier version of WPKG GUI. Probably 1.2-rc6 which is basically the same compiled on an older Visual Studio as you said. In fact I was getting a similar message recently on a Windows Vista 32-bit machine. It did not state any Runtime Error but just said that the uninstall procedure failed in an unusual way. Yes, it happened to me when trying to remove the package. After that also a re-install/repair failed with the same message. So I was unable to repair or uninstall it. I had to manually clean all WPKG entries from the registry to be able to re-install it. Do you have any errors in Event Log as it happens? At least on my machine there have been no more information within the event log than displayed already within the dialog window. This application has requested the Runtime to terminate it in an unusual way. Most probably it is somehow related to the way the WPKG GUI installer calls wpkginst.exe after copying the files to the local disk. Probably just the exit codes of wpkginst.exe are to b changed... who knows... br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Cannot install wpkg on W2k3 Terminal Server
At least on my machine there have been no more information within the event log than displayed already within the dialog window. This application has requested the Runtime to terminate it in an unusual way. Addition. Google gives lots of hits when using the error message as a search term: http://www.google.ch/search?q=This+application+has+requested+the+Runtime+to+terminate+in+an+unusual+wayie=utf-8oe=utf-8aq=trls=org.mozilla:en-US:official For Windows XP there seems to be a hotfix, but no available to the public: http://support.microsoft.com/kb/884538 Seems to be a problem with msvcirt.dll Some people on the boards claim that they fixed the problem by uninstalling the Google Toolbar and any other IE toolbars. If I remember correctly the Google Toolbar has been installed as well on that Vista 32-bit machine I got the same error. Here they claim that it is related to the Advanced text services framework which is an optional feature of XP (AFAIK): http://www.winway.com/Main3/support/Resume/RuntimeErr/TermUnusualWay.aspx In Vista it is always included. I don't know about Windows 2003. Unfortunately after googling I did not find a solution yet how to fix or work-around that problem. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Cannot install wpkg on W2k3 Terminal Server
Hi Alan Alan Au wrote: I have tried 1.2-rc6 , but got the same error. :-( so this was a waste of time. Do you have any IE Toolbar like the Google Toolbar installed? According to some Google search results uninstalling the Google Toolbar helped sometimes - however it's not clear to me yet how this could influence WPKG installation. So I am running out of ideas currently. Sorry. This is an issue we have to solve since WPKG client is an essential component. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Powershell and WPKG
Hi Handy, Even if you're probably going to ignore me... Steve Handy wrote: I am trying to see if WPKG can force a desktop to execute a powershell to perform certain functions such as establishing local group policy. If I understood this correctly you're trying to execute a local powershell to modify the local group policy. Basically every local application can be executed by WPKG. Just create a new package (XML definition) which includes your commands within the install commands. If you like to execute this script at each synchronization use the execute=always flag within the package header. If not, then use the execute=once flag. I personally never used any powershell but I used commands like 'cmd /c xcopy...' so you might use something like 'cmd /c powershell.exe ...' within the install command to execute the local powershell. HTH Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Questions about offline mode and executing the wpkg service
Hi Tomasz, Tomasz Chmielewski wrote: Didn't you just describe one problem in this thread? :) I use WPKG within VMWare, Virtual-PC and VirtualBox without problems yet. However I do not use the logon delay feature. What I noticed is that VMWare sometimes is extremely slow when handing out DHCP adresses. This might cause a problem with the WPKG service. Probably also an issue with the VMWare tools which are started _after_ WPKG service. However I just use it for testing purposes and usually I run WPKG service from the services MMC snap-in to test what is happening. I have no idea. A bug? Which doesn't show up on real machines, though, which is either good or bad. Sure? I thought that Bug 106 is reporting a problem where WPKG service seems to wait for the maximum logon delay. Probably there is really an issue. If I have some spare time I will try to verify it on my VMWare. @echo off ping -n 1 IP of server NUL exit /b %errorlevel% This script returns 0 if the server is reachable and 1 if not. I've tested this on the command line. The script is rather simple and primitive, but already contains an error ;) - it won't work with /b switch. Although this script will exit with non-zero code, /b prevents closing of cmd.exe. A while later cmd.exe exits with code 0, and... No. The 'exit /b %errorlevel%' is entirely correct. See 'exit /?'. On my Vista it reads: [...] /B specifies to exit the current batch script instead of CMD.EXE. If executed from outside a batch script, it will quit CMD.EXE [...] So when using exit /b within a script you can exit a script with a certain exit code (%errorlevel% inserts the exit code of the immediate previous command). When /b is not used, then exit will not only exit the current script but terminate the whole CMD.EXE process. Which means that if you run exit within a script invoked by another one ('call script.cmd') it will never return and continue in the calling script but terminate completely. If 'exit /b code' is used, it will terminate the called script returning the specified code. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Installer types
Hi, Thank you for that--it helps Tomasz. Is there some way (perhaps in get info--or in properties) to test an installer to know what type of installer it actually is? You could try the ultimate silent switch finder provided here: http://www.msfn.org/board/Universal-Silent-Switch-Finder-01-t17940.html Run it and open the file you want to analyze. If it recognizes the installer type it will provide you appropriate silent switches. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Questions about offline mode and executing the wpkg service
Hi Tomasz, It is a correct switch, but using it prevents passing a proper exit code to WPKG Client. No, it does not. If used in the topmost script (not a sub-script invoked via call) it will also terminate cmd.exe with the given code. Whether /b is used or not, it will exit a script with certain exit code. Yes, but using the /b switch it will exit only the inner script currently running. In other words, without /b, cmd.exe will terminate with exit code specified in exit command. True, but there is no possibility to continue a script which has called the one which exits without using the /b switch. With /b, cmd.exe will exit with exit code 0. No, it will exit with the exit code specified. 'exit /b 2' will exit with code 2. When we want to fetch the exit code in WPKG Client, /b switch must not be used. Be assured it can be used - I use this very frequently. An example can prove this. script1.cmd: @echo off call script2.cmd echo exit code: %errorlvel% pause exit 1 script2.cmd: @echo off exit /b 2 1. Test, calling script1.cmd from a CMD prompt: - the term exit code: 2 is printed - after pressing enter at the 'pause' prompt the script closes down the window (including the one where you typed script1.cmd). NOTE: Closing the CMD window is normal if oyu double-click the cmd file, however when invoking script1.cmd from a CMD prompt then you most probably do not want to exit it. I never understood why Windows is behaving like this. Here actually a sub-command exits its parent - totally strange, such a thing will never happen on a unix shell. - However, the exit code of script1.cmd will be code 1. 2. Test, calling script2.cmd, entering echo %errorlevel% immediately afterwards - an errorlevel of 2 is printed So script2.cmd exits properly with exit code 2 - which can be evaluated by WPKG (verified several times). The only difference is if you're going to change your script - or write another script which has to invoke script1.cmd. Imagine the following script: @echo off echo Invoking script 1 call script1.cmd echo doing something else call scriptxy.cmd exit /b 0 In such case everything after calling script1.cmd will _NEVER_ be executed as script 1 totally closes down CMD.EXE. Yes, this is either a bug on the CMD shell or just annoying design. Perhaps that happens on Vista only (I just tested it here on Vista x64 now). So scripts should never exit using 'exit code' from my point of view. Using 'exit /b code' perfectly serves the purpose and works in every case (no matter if your script is the topmost or one of the called ones. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] xsd, dtd schema files?
Hi Jan, Jan Luehr wrote: so far I'm using XML-editors for editing wpkg config files. Are there any xsd or dtd schema files for validating? (And finding my typos *g*) Unfortunately not yet. This would also be a good source for documentation. Once I started to create XSD schema files but I found no time to finish (and I have very few experience with it yet). However be assured that I would like to create XSD schema files but found no time yet. So the answer is no, they currently do not exist (unless somebody else created them already). Sorry. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] WPKG 1.0 released
Hi Adam, Adam Williams wrote: anything need to be done to upgrade from wpkg 1.0-rc8 to 1.0 other then copying over wpkg.js? No. Just replace wpkg.js. Personally I would recommend to use the latest version of config.xml as well. Most parameters can be left default anyway - so merging them will be easy. br, Rainer - Do you use WPKG? Tell us how! http://wpkg.org/Testimonials ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] xsd, dtd schema files?
Hi Jan, Jan Luehr wrote: I'm also new to xsd (to be honest, I've never written a xsd or dtd file), but If you're stucked somehow, feel free to ask. Thanks for support. After a while of click-and-try as well as reading some info at http://www.w3schools.com/ I think I can manage to do it. There are some issues like the package checks. We use the same element name and depending on the value of some attributes others are required or optional - which is actually quite complex. Anyway I managed to do it and now I can build up my package definitions by mouseclicks in Eclipse. All other XML files will not be that difficult I guess. So stay tuned, I need some more time to complete and test. I found that the XSD files could be a nice source for documentation as well. By using Eclipse (or any other decent XML editor) context-sensitive help and assistance is provided. I put lots of comments and hints inside. So the XSD actually documents every element and value within the packages.xml now. I will do the same for all other XML files too. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] determining MSIEXEC product code?
Hi Adam, Adam Williams wrote: I have a piece of software installed with WPKG and I want to uninstall it, and the uninstall instructions from app deploy say to uninstall it with: MSIEXEC.EXE /X {PRODUCTCODE} REMOVE=ALL /Q but, how do I figure out what the product code of the application is? This often causes headaches to me as well ;-) You might read the uninstall code from the registry - see HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall However I hate that method - and some applications seem to change this code on each release - so you have to find it again. For example AcrobatReader is changing it on each release/update (contains the version number). Therefore I recommend another way. Just use msiexec /x path\to\software.msi /qn Instead of the product code you specify the MSI package you used to install the package. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] WPKG 1.0 check error
Hi, Vladimír Pšenička wrote: Hello. I am testing new version of WPKG (1.0) with same xml files and get some strange error (Error number: 800a01b6). I didnt have problem with previous version of WPKG (0.9) I can tell, when error occurs: At this check condition: check type=logical condition=or check type=registry condition=equals path=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Common\LanguageResources\SKULanguage value=1029 / check type=logical condition=and check type=file condition=exists path=%PROGRAMFILES%\Microsoft Office\OFFICE11\winword.exe / check type=file condition=versionequalto path=%PROGRAMFILES%\Microsoft Office\OFFICE11\winword.exe value=11.0.8169.0/ /check /check Thanks again for your report. In the meantime I opened a Bugzilla report to track this issue. See Bug 107 (http://bugzilla.wpkg.org/show_bug.cgi?id=107). A fix can be downloaded there too (versions 1.0.1 and 1.1.0-M4 are provided). Again, thanks very much for reporting and debugging. Changes in short: FIX: Fixed Bug 107. Registry equality checks throw an error in case of checked value is of type REG_DWORD or REG_BINARY. Now the values are converted to strings before comparing it to the 'value' attribute. REG_MULTI_SZ and REG_BINARY values are concatenated using newline characters. For REG_BINARY values each octett is converted to its decinal number representation. Examples: REG_MULTI_SZ = a b c value = a b c will match. REG_BINARY values will be converted to multiline string as well. Each octett of the binary value is converted to its decimal representation. REG_BINARY = 11 22 33 44 value = 17 34 51 68 will match. Perhaps you can report if this works for you too. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] firefox and acrobat
Hi, Tomasz Chmielewski wrote: 2008-04-14 14:03:12, DEBUG : Initialized temporary local log file: C:\WINDOWS\TEMP\wpkg-logInit.log 2008-04-14 14:03:12, DEBUG : Initializing new log file: C:\WINDOWS\TEMP\wpkg-dell002.log 2008-04-14 14:03:12, DEBUG : Reboot-Cmd is standard. 2008-04-14 14:03:13, DEBUG : WPKG 1.0 starting... 2008-04-14 14:03:13, DEBUG : Base directory is '\\hq\wpkg\cur'. 2008-04-14 14:03:13, DEBUG : Log level is 255 2008-04-14 14:03:13, DEBUG : Trying to read XML file: \\hq\wpkg\cur\profiles.xml 2008-04-14 14:04:20, DEBUG : Successfully loaded XML file: \\hq\wpkg\cur\profiles.xml It waits over 30 seconds to access the first file - looks like either: 1) this workstation is *very* slow 2) your profiles.xml file is *very* large (and all other XML files) 3) there is some problem accessing network shares (WINS, DNS resolution, other network problems etc.). If I'd have to bet here, I'd bet on 3). ACK. Recently I've seen similar behavior on a couple of Windows XP machines. It was re-producable that connections to new hosts were hanging for quite a long time. After the connection was established, then data transfer was fast as usual. So it was difficult to debug since all transfer-bandwith testers just tested the bandwith, and not something like an initial delay. Test was easy: - open cmd - ping www.google.com Then ping hung for half a minute to a minute and then response times showed normal answer times ranging from 20 to 60ms. I run WinsockFixXP on this machines which fixed the problem. @Brian: Probably you can try that or just run the following commands on your command line: netsh winsock reset netsh winsock reset catalog netsh firewall reset netsh firewall set icmpsetting 8 netsh firewall set service FILEANDPRINT ENABLE SUBNET then reboot and check again. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Upgrades
Hi Daniel, Daniel Dehennin wrote: As far as I understand, to upgrade a package I need to provide the upgrade / to the new revision of the package. True. Most of the time, this upgrade uninstall the old package and install the new one. NACK. Most of the packages are upgraded by simply executing the updated installer. It will take care of the previous version automatically while migrating the settings. Executing the uninstall procedure before causes problems with some packages as the uninstaller also removes settings - which would have to be re-done after re-install. What do you think about idempotent packages ? If no upgrade/ is specified, just execute the remove/ of the old revision and the install/ of the new one. I don't like this idea too much as I am quite sure it would lead to lots of questions and possible problems. At the moment WPKG will simply not execute anything if there is no upgrade path (upgrade commands) specified. However it will still do the after-upgrade check and verify if the package is installed. There are also a number of use cases where you want to upgrade the package without actually changing anything on the machines where the software is already installed but allow new machines to install the changed package. Currently you just leave the upgrade command empty, leave the package checks (e.g. uninstall entry check) and then execute it. On machines where the software is already installed nothing will be done, the checks succeed and that's it. On new machines the install commands are executed. Implementing your change request would mean that even on the machine which has already the correct software the uninstall and then the install commands are executed. Which is a lot of overhead. Some people will be pissed off because of this - I am sure about. There is a reason that most packaging systems make a difference between install and upgrade. We should not mix it up. Especially since it is extremely easy to copy the install commands to the upgrade command in case the application just needs the same command for both actions. Finally I think introducing such a change could lead to lots of problems and decreases the flexibility and clear syntax of WPKG (disallow empty upgrade). What do others think about it? Should an upgrade command be smartly assumed and just execute some non-obvious commands or should we force the admin to clearly specify what he wants to roll out? br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Question about processing install and remove
Hi Daniel, Daniel Dehennin wrote: During my test I remove the package xp-firewall from the profile and in the log I see that wpkg.js mark the xp-firewall package as to be removed but it seems to try to execute the install/ anyway. This feature has been introduced by WPKG 1.0 and I refer to it as the upgrade-before-remove feature. WPKG always first brings an installed package up-to-date before trying to remove it. This allows system administrators to define fixed uninstall strings which will be deployed before the remove commands are executed. Without this feature there was no possibility at all to fix a broken uninstall string on the client machine from within wpkg.xml. It would just fail to uninstall. What you see within the logs is that the synchronize-method is first calling the install method to update this package before it is going to remove. The install method then correctly prints that the package whose execute flag is set to 'once' is already installed with exactly the expected version and it exits without doing upgrade or installation. The way of execution is due to the fact that the install method is now much much smarter than it was in previous WPKG versions. It detects by itself if a package needs upgrade or installation. In your case the synchronization just needs to call the install method on the same package and WPKG will automatically find out that there is no upgrade needed. If it would be needed it would execute the upgrade before executing the remove. So everything looks perfectly fine on your system - just don't be confused about the upgrade/check attempt. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] wpkg.js crashing?
Hi Brian, Brian May wrote: Where is the event log stored? Right click my computer, select manage, click Event Viewer, right click Application, chose Clear all Events. The configuration is identical to the other computers that were working; I think it is 0xFF OK. The INFO (and higher) messages weren't getting logged because this is what cause wpkg to crash. Would it be possible to wrap those lines of code in a try/catch clause? I don't think errors writing to the event handler should be fatal and cause wpkg to abort. No, WPKG does not crash on your system - this for sure not. And there is absolutely no need to wrap in in a try-catch clause. The reason is that whole WPKG is wrapped in a try-catch clause. So if anything throws an unexpected exception, then it will be catched and a nicely formated message will be logged to the event log. But more and more I have the feeling that your event log does not work as expected and either it just hangs there (Windows call hangs, not WPKG) or it is simply ignored. I see from your logs that every debug message is printed up to the point that the language-local user notification should be logged to eventlog. Next entry would be something like: 2008-04-18 06:45:46, INFO: User notification suppressed. Message: Das WPKG Software-Installationstool in... This message would be logged to event log using the logEvent() method I already pointed out. So you might do the following: Check your event log for errors (Application and System logs - see above how to reach there). Then clean all the logs. Run WPKG and check the event log for a user notification entry - or even more output depending on the number of packages to be installed. If it still does not work for you, then try disabling quiet mode (remove /quiet flag, set quiet flag to false within config.xml) and run WPKG on the command line: cscript \\server\path\to\wpkg.js /synchronize Then check what is printed on the console. In fact I am quite sure that you will have some errors logged in your System log. They might help to fix your system. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] wpkg.js crashing?
Hi Brian, Brian May wrote: I will have a look at the code ASAP. However, the fact remains, if I comment the code out it works. If I leave the code it, wpkg.js exits without doing anything else. I don' think you need to look at the WPKG code since it is about a simple API call. It looks like it either waits or just does nothing. This is a Windows issue, not WPKG. Of course it helps if you just omit this call - but then you don't get any output on your event log. So I write it again, and again... You could try commenting just the line which calls logEvent() - then you know exactly if Windows hangs there. But then it's most probably because the event log is full and it waits for some space to become available. If you disable silent mode (again, I wrote that already) this code will not be called. In case you disable the logEvent() line, then for sure you won't get any event log entry since all logs written to event log are written by this single line. So don't complain that id does nothing - it is working in the background but you just muted it :-o And let me repeat again... WPKG does not seem to crash for you. Most probably just the API call is hanging. So it is useless trying to catch an exception if there is simply no exception thrown by Windows on the logEvent() call. You wrote since the beginning, that it only seems to happen on this one computer. So you should probably fix this one computer instead of re-writing WPKG ;-) I thought to remember that somebody reported a similar problem where an error was logged about full event log. After cleaning it it was OK again. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] wpkg.js crashing?
Hi Jens Jens Geile wrote: I remember a machine in my setup that didnt log anything to the event log anymore because it was full. This happened after running wpkg in debug mode two or three times (previous log entries left there). Cleaning the event log solved this and wpkg logged its actions again. Thanks for information. Was it just not logging (but executing properly) or was it also hanging somehow when trying to write log entries? It looks like Brian is experiencing the second problem. However I guess there should be at least some information within the system log if there is a problem with the event log system. Or does anybody know another way how to trace event log system problems? br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] wpkg.js crashing?
Hi Jens, Jens Geile wrote: I don't remember. :p But I'll just set a machine to debug and restart it a couple of times to reproduce this later today and report back. Thanks for your support. I am not at home (where my testbed is) so I cannot do that at the moment. On the other side Brian might have another issue as well. Hopefully there is some error within his event logs he could provide. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] google earth 4.3
Hi Adam Adam Williams wrote: With the release of Google Earth 4.3, when you go to the download link at earth.google.com it takes you to http://tinyurl.com/384eyy and when you agree and download, it installs google updater which then opens a GUI that downloads and installs google earth 4.3. I then searched my hard drive for *google*earth* but couldn't find where google updater put the installer for google earth. Anyone know of a way to get the google earth 4.3 installer so I can push it out with wpkg? I just went to http://earth.google.com/ then clicked on the Download Google Earth 4.3 link on the upper right, selected other within the location drop down (this seems to do the trick actually) and clicked Agree and Download. This took me to the direct download at http://dl.google.com/earth/client/branded/redirect/Google_Earth_CZXV.exe br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] WPKG client upgrade
Hi Tomasz, Tomasz Chmielewski wrote: - there is a switch/hack, but we don't know it yet I don't think it is very hidden or a hack. Just did a quick (very quick) Google search and found the following interesting pages: http://www.martau.com/forums/view-and-apply-pending-file-rename-operations-t87.html = admin claims that there is a windows function which adds such a pending operation to be executed at next reboot http://www.snapfiles.com/get/WhyReboot.html A tool showing pending file operations scheduled for next reboot. It reads this information from registry keys. http://www.softpedia.com/get/System/System-Miscellaneous/MoveFile.shtml A tool to schedule such pending file operations. On the page there is even a description of the registry key it uses - this makes me believe that either there is an API for it or instead the registry key definition itself IS the API. Since it is quite an old mechanism (should work an Windows 9x as well) I have the feeling that the registry keys itself are the interface - similar to the RunOnce keys. Searching for PendingFileRenameOperations (the actual registry key) I found the following: http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/58499.mspx Looks like this key should be added somehow automatically by installers (?). Another interesting thread: http://www.besttechie.net/forums/index.php?showtopic=8900 or here: http://www.pcreview.co.uk/forums/thread-1581158.php If not done automatically the following might work: - extract WPKG files to %TEMP% folder (or any other upgrade-storage) - try direct overwriting of files - add the ones which failed to the PendingFileRenameOperations key - schedule reboot br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] wpkg.js crashing?
Hi Jens Jens Geile wrote: After some more testing even param name='quiet' value='false' / is working now but it seems to disable /debug. I created a bug report (just for the records): http://bugzilla.wpkg.org/show_bug.cgi?id=110 However I verified it and it works exactly as expected. Setting 'quiet' do 'false' will cause WPKG not to write to the event log but to print to STDOUT instead (which you probably cannot see when it runs as a service). Refer to the more-detailed description within the report linked above. I am going to close it soon if there is no feedback from you. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] wpkg.js crashing?
Hi Brian, Brian May wrote: This is pure speculation: * When I pushed OK on the dialog box yesterday, it expanded the file size to the size specified in the control, which I assumed was the current size. * The problem with logging events was because the current size of 64kb was being exceeded. * For some reason the Overwrite events older then 7 days was not working, as many events look older then 7 days. Or maybe, like the size setting it wasn't really the current value until after I pushed OK. So to me it looks like your system was somehow behaving oddly regarding the event log size and auto-purging. Anyway, this strange behavior allowed us to discover and fix a problem in WPKG which could happen in very rare cases - and therefore is very hard to trace and debug. Finally we solved this issue (see release of WPKG 1.0.2 and WPKG 1.1.0-M5) once forever. Thanks for your support. WPKG is getting more and more stable ;-) br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Unable to set the path to file sizeequals check
Hi Daniel, Daniel Dehennin wrote: Regards. You can find the patch as attachement to this e-mail. Thanks a lot. Your fix have been applied and checked in to the repository. For the records I've created a bug report on Bugzilla: http://bugzilla.wpkg.org/show_bug.cgi?id=112. - WPKG 1.1.0-M6 Thanks for your support! Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Re : Re : Question about multi-domain environment
Hi Karl, Karl wrote: No please no more microsoft tools Is this possible with WPKG? Well, I think you can - but you did not exactly specify what you want to do. Your question about multi-domain environment does not really apply to WPKG as WPKG does not care about domains (except for accessing user accounts). You might also use a centralized software repository (or synchronized software repository) and then just assign your profiles to the clients. Here is a short description how I use it: I use WPKG on multiple, completely independent, Windows domains as well (all served with Samba, but this is irrelevant). On my master domain I create a share and put it on a server which is available to the clients under the name 'software'. So all clients on my master domain access WPKG on \\software\RemInst\wpkg\wpkg.js. All the software is stored at \\server\RemInst\software\... \\software\RemInst\software is referred as %SOFTWARE% (see WPKG variable definition) To distinguish between hosts on different sites I prefixed them all according to the site. At installation you can use winnt.sif to to achieve hostname prefixes. Just specivy ComputerName = * and OrgName = site1 - so all host will be named like site1-someRandomValue. Then I created host specifications like site1-.* and assigned profiles to them like site1-default. To make it even easier you might create a profile called something like global-profile and then add it to the dependencies of siete1-default - so most of the packages (which are globally the same) do not need to be added to each profile, just keep them in the global one. So now here the clue comes... I use rsync (well, on Windows there might be similar tools - or use cygwin) to synchronize WPKG and the software share to remote sites. On all remote sites the software deployment server is called 'software' so the \\software\RemInst\... paths are valid on all the sites. I do not need to prepare custom packages for each site. Even if the server name would be different you can just define another path for the %SOFTWARE% variable. This setup allows me to update multiple sites with a simple rsync command. HTH Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Using package variable in tests
Hi Daniel, I just read through the report and would like to share some comments. Daniel Dehennin wrote: Tying to install mozilla firefox with WPKG, it seems to me that variables defined in packages are not expanded when doing tests. This is currently by design - package variables are only expanded during package commands (install/upgrade/downgrade/remove). It would require some re-design to make package variables available to check nodes as well as for check nodes the package context is not available. However I am thinking about a flexible way to do it. I will try to make this enhancement available to WPKG 1.1. variable name='MozDir' value='%ProgramFiles%\Mozilla Firefox'/ !-- Le fichier all.js inclu bien mozilla.cfg -- check type='file' condition='exists' path='%MozDir%\greprefs\all.js'/ check type='execute' path='%WPKGBIN%\qgrep.exe -B -L pref(\general.config.filename\, \mozilla.cfg\); %MozDir%\greprefs\all.js'/ install cmd='%ComSpec% /c echo pref(general.config.filename, mozilla.cfg); %MozDir%\greprefs\all.js'/ remove cmd='%WPKGBIN%\gsar.exe -o -spref(\general.config.filename\, \mozilla.cfg\); -r %MozDir%\greprefs\all.js'/ In the debug log I got: The path '%MozDir%\greprefs\all.js' does not exist: the test failed [...] Reading variables from package Reading variables from package Firefox Configuration Got variable 'MozDir' of value '%ProgramFiles%\Mozilla Firefox' Stored 1 variables from package [...] As you can see the checks are executed outside the package context currently. I will try to enhance the packages in a way that variables are available for all package operations. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] IP-Address match failed: Cet objet ne g ère pas cette propriété ou cette méthode
Hi Markus, [EMAIL PROTECTED] wrote: I am trying to install wpkg on a SAMBA share (\\d51-dde-01\diffusion\utilitaires\wpkg) in a windows domain. We are using fixed IP addresses. The profiles, hosts and packages files are read successfully, but there seems to be a problem with the IP-Address match . See the following message from the log file: IP-Address match failed: Cet objet ne gère pas cette propriété ou cette méthode In English that would be The object doesn't handle that property or method. Is there anything that can be done about that? Damn, I was quite sure this messy method of reading IP addresses from the registry will create some problems somewhen... I will have to revise some lines of code in the getIPAddresses() method. Mainly I guess that the data in IPAddresses at HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface\ is not really of type REG_MULTI_SZ. I will have to verify that on a machine with fixed IP address(es). You might replace var fixedIPs = getRegistryValue(regBase, IPAddress).toArray(); by var fixedIPs = null; to work around the problem - however IP-based matches will not work then since no IPs will be found. I will investigate. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Installer upgrade trouble...
Hi Marco, I'm still using 0.90, and surely i don't try to upgrade using the procedure explained on: http://wpkg.org/WPKG You could even upgrade WPKG (server side) without changing the client side at all. PS: and if we simply throw away the .msi installer and prepare a simple batch script that do the job, copy files, setting registry keys, ... In another way: what do the .msi installer on a *upgrade* process? Can be substituted with a simple cmd script? No. I don't think this is the way to go. We are building up a state-of-the-art software deployment environment and then we should install one of the core components using a hacky cmd script? NO! Probably switching to NSIS could be an alternative too. Just make sure the /S switch works properly ;-) However currently it's clearly a resource problem. WPKG 1.0 is quite stable, WPKG 1.1 is collecting new features and WPKG client suffers from some upgrade problems and probably also the delayed logon feature needs further investigation. So if somebody could provide some assistance here... br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] WPKG Client v1.2.1 and slipstreamed WinXP SP3 - fails
Hi Paul, Paul Griffith wrote: I just tried to install WPKG Client v1.2.1 with WinXP SP3 (slipstreamed) and it failed, v1.2r6 installed without any problems. Anyone tried a slipstream WinXP SP3 ? I just did the same on a test installation within VirtualBox - fresh RIS setup with Slipstreamed SP3. Upgrade path of the RIS image: - Original Windows XP SP1 german (did not try EN yet) - Slipstreamed SP2 - Slipstreamed various patches - Slipstreamed SP3 I did not re-create the image from scratch, just additionally slipstreamed SP3. I heard that in some cases omitting the installation of SP2 causes problems with some applications Then I installed WPKG Client 1.2.1 (final) and it worked without any problem. When looking at your log it seems that thre is a problem to read from the temporary Installer location. Quite strange. Did anyone else run some tests? br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Viewing software installed on workstations
Hi Joe, Joe wrote: According to the docs you can use the following package to view what has been installed on a workstation... package id=wpkg-xml name=wpkg.xml files from workstations revision=1 priority=0 execute=always install timeout=15 cmd='cmd /C copy %SYSTEMROOT%\system32\wpkg.xml \\server\wpkg-xml\%COMPUTERNAME%.xml /Y' / /package ...but won't this always be behind by one run of wpkg? By looking at the log the last thing that wpkg does is write wpkg.xml. So this method will always copy the last wpkg.xml and not the current. Am I correct? This is absolutely correct due to the fact that WPKG 1.x does not waste system resources any more by flushing an incomplete wpkg.xml after each package. If you really need to get the absolutely latest version of the local wpkg.xml I recommend putting a batch file onto the server and have WPKG client running that batch file instead of wpkg.js directly. This allows to launch wpkg.js and then copy wpkg.xml with the batch script. Oh wait, I just found another option. Put the command (cmd /C copy %SYSTEMROOT%\system32\wpkg.xml \\server\wpkg-xml\%COMPUTERNAME%.xml /Y) to a batch script and add it to WPKG client configuration within the Execute after configuration. This should do the trick. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Viewing software installed on workstations
Hi Joe Joe wrote: Ok... Thanks... I was going crazy for a bit trying to figure out why the files never matched. Might want to add this to the docs on http://wpkg.org/Viewing_software_installed_on_workstations You're very welcome. In fact the Execute after feature has been introduced later on - so the hint on the web-page was correct at that time - but now there is a better solution available (at least I think it is better). Feel free to add it to the page. I will most probably not do it due to lack of time at the moment. Sorry. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] expand variables in debug output?
Hi Joe, Joe wrote: Maybe expanding could be an command line option? At any rate, the reason I asked was that I had a situation where I set: set SOFTWARE=%WPKGROOT%\Programs\ Then in some packages... install cmd='%SOFTWARE%\thunderbird\Thunderbird Setup 2.0.0.14.exe -ms' / install cmd='%SOFTWARE%\firefox\Firefox Setup 2.0.0.14.exe -ms' / install cmd='%SOFTWARE%\PDFCreator\PDFCreator-0_9_5_setup.exe /VERYSILENT /NORESTART /SP-' / These somehow all installed correctly with the trailing slash on SOFTWARE. The next would not install and I could not figure out why... install cmd='msiexec /qn /i %SOFTWARE%\OpenOffice\openofficeorg24.msi' / I had a 1619 error but could not understand the problem since the prior three packages worked. I finally created a package to dump the environment vars to a file and then noticed my mistake. I still don't understand why it worked for the first three. Probably because of quoting - your SOFTWARE variable is not quoted in the last example. This means it might fail if SOFTWARE contains spaces. Using install cmd='msiexec /qn /i %SOFTWARE%\OpenOffice\openofficeorg24.msi' / might help. But also this would not be much better to trace if variables are expanded. In general I don't want to introduce new parameters and switches for every small detail. Else we end up in a total mess of parameters and almost for each WPKG line of code we have a switch to enable/disable something. This is not user-friendly any more. In your case simply inserting a second command (which is for sure executed within the same context) would allow easy debugging: install cmd='cmd /c set %TEMP%\debug-env.txt' / install cmd='msiexec /qn /i %SOFTWARE%\OpenOffice\openofficeorg24.msi' / br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] expand variables in debug output?
Hi Joe, Joe wrote: At least I would have seen... msiexec \\R4p17\VOL1\apps\WPKG\Programs\\OpenOffice\openofficeorg24.msi instead of... msiexec \\R4p17\VOL1\apps\WPKG\Programs\OpenOffice\openofficeorg24.msi So msiexec might have problems with double backslashes in path? I would consider this to be a bug since c:\\Windows is equal to C:\Windows - as well as C:\.\.\.\.\Windows ;-) But I ought to remember that I had a similar problem once... strange msiexec behavior. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Viewing software installed on workstations
Hi Jens, Jens Geile wrote: param name='settings_file_name' value='%COMPUTERNAME%.xml' / Hurray, I even did not think about the variable replacement here... :-) Lol, this feature has been there for ages. :p I just forgot to copy the line because I was in a hurry when I wrote the mail. You're right - WPKG just supplies that much features that even I lose overview sometimes. I hope the %COMPUTERNAME% property will remain in future Windows version - or I might need to dig for my proposal again. For the moment no change seems to be required. Thanks for clarification. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Package Renaming [SEC=UNCLASSIFIED]
Hi Michael, Michael Chinn wrote: I was planning a mass rename of existing packages to conform with a new naming priority convention and just wondered if anyone else has attempted this? Would it be best to remove the local wpkg.xml prior to wpkg.js execution so that all the packages reperforms their checks? I can for see some issues with 'execute once' pkgs running again Well, I never did it but I would like to share some thoughts of course. When renaming the package ID then WPKG cannot know if the package is actually the same but just renamed. So it will regard it as a new package. This also means that the original package (old name) will not appear any more within the profile - so WPKG is going to remove them first before starting to re-install it using the new package ID. So if you keep your local settings (wpkg.xml) then WPKG will do the following (assuming all packages are renamed): - remove all packages which are listed in wpkg.xml - install all packages currently in the profile If you're going to remove wpkg.xml before the following will happen: - WPKG assumes no software intalled yet and will install all packages During installation WPKG will execute the checks and eventually skip the installation where it finds that the checks already succeed. So if all your packages supply appropriate checks then WPKG will do nothing but just re-fill wpkg.xml This also applies for execute=once packages. They will not be re-installed if checks succeed. However execute=once packages typically do not have checks and are used just to apply it once and then forget about it (unless it's upgraded). In such case the package will be re-applied (since WPKG cannot determine by checks that the package is already installed). I strongly recommend to test this migration on a testbed because it heavily depends on the quality of your packages. In best case (all checks appropriate) I would recommend deleting the local wpkg.xml as you already mentioned and then re-synchronize. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Profile inconsitency: Package with ID 'imageresize' is listed in profile but ...
Hi Jose, Jose Cortijo wrote: But before I tried to run it in my own computer from cmd. I get an error the wpkg database is empty It should be empty as far I didnt install any softwarre yet. I create the variable SOFTWARE with the value path to software folder in the server and run manually the script. coudl you give me any suggestion?? Sure, let's try to sort it out. Successfully loaded XML file: \\DELCHNPEK-FS002\WPKG-1.0.2\profiles.xml Reading XML file: //DELCHNPEK-FS002/WPKG-1.0.2/profiles/default.xml So two profile definition files have been read. Probably profiles.xml is just the sample one included. You might remove it. Successfully loaded XML file: \\DELCHNPEK-FS002\WPKG-1.0.2\hosts.xml OK, it seems to use host.xml. No host definitions stored within the hosts/ subdirectory. Successfully loaded XML file: \\DELCHNPEK-FS002\WPKG-1.0.2\packages.xml Reading XML file: //DELCHNPEK-FS002/WPKG-1.0.2/packages/imageresize.xml Good, here it read pacakges.xml (probably just the sample file included). You might remove it if you don't need the packages defined there. Reading imageresize.xml seems to be fine too. Profiles applying to the current host: default OK; the profile assigned (look at hosts.xml) ist default. Hosts file contains 1 hosts: DELCHNPEK-WIT01 Just one host? Hmm, you might consider to use a regular expression for productive use. Something like .+ will match all hosts. Settings file contains 0 packages: This is correct - your local wpkg.xml has not been written yet. Packages file contains 4 packages: wpkg1 wpkg2 wpkg3 time Looks a bit like the default list of packages. And here the problem seems to be actually. The default packages.xml includes exactly these 4 sample packages. It seems that either your imageresize.xml does not contain any package - or you just copied an entry and forgot to change the ID to imageresize. Your package definition within imageresize.xml should looks something like: packages package id=imageresize name=Image Resize revision=1 reboot=false priority=100 ... /package /packages Profile file contains 4 profiles: default custom administration other Correct - and as seen above default is applied to the host. Using profile(s): default Seems to be correct most probably. Adding package with ID 'imageresize' to profile packages. Profile inconsitency: Package with ID 'imageresize' is listed in profile but doe s not exist within the package database or the local settings file. Please cont act your system administrator! As named above - WPKG did not find any package definition with id=imageresize in its header. Please verify your imageresize.xml definition file. Hope this helps and gives you some more background about how WPKG works. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Package Renaming [SEC=UNCLASSIFIED]
Hi Leon, Leon Hedding (ICT) wrote: I have seen a number of other solutions that use a GUID as part of the package. Is this something that we could somehow include in WPKG? I don't know how we would be able to create the GUID to put into the packages.xml file, but that would certainly assist with package renames which do occur in the real world more often than we would like. Gaim goes to Pigdin was one recent occurrence. How exactly do you intend to use the GUID? As an identification for the package? I also see numerous problems when using the GUID. In fact somebody could already use the GUID within the package ID attribute. Unfortunately some (lots) of package maintainers seem to change GUIDs more often than others change their underwear. For example it seems that each Acrobat release uses another ID. In addition appropriate checks are much more reliable from my point of view. If your packages use appropriate checks even renaming should not be so much of a problem. The example of product renaming (Gaim = Pidgin) is not an issue at all in my eyes. The first Pidgin package is anyway a fresh installation (I even don't know if an upgrade from Gaim to Pidgin was possible or if they installed in parallel). In any case there is not much difference in the upgrade path. In one case Pidgin would be upgraded (full Pidgin installer executed) and probably even the old version of Gaim would have to be removed manually. In the second case the Gaim package is simply deleted and a new Pidgin package is created. WPKG will uninstall Gaim and install Pidgin. I don't see a problem here - this is actually the way I did it. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Profile inconsitency: Package with ID 'imageresize' is listed in profile but ...
Hi Jose, Jose Cortijo wrote: thanks a lot man. You were absolutely right. It is working right now. I create an imageresize.xml in the packages folder with that lines but I didnt know I should modify the packages.xml . So, the first file is not needed?? Right. Strictly speaking it is not needed. It is just an example. By historical reasons packages.xml within the same directory as wpkg.js is a collection of all packages in one file. Some people do not like to maintain a huge XML file with all package definitions in a single file. So WPKG also scans every XML file from the packages/ subfolder an concatenates them. So yes, you might get rid of packages.xml if you like (or move it to packages/) - whatever you prefer. In any case you should remove the sample entries you don't need; which are there only for demo purposes. Hope that clarifies it. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Package Renaming [SEC=UNCLASSIFIED]
Hi Leon, Leon Hedding (ICT) wrote: What you describe is exactly what I am thinking. The other bit is as you say, it is quite difficult to read logs since the GUID would be in the logs then. That is why I am wondering if having an actual (optional) GUID value would be of benefit. It might be over kill, but would certainly help in at least the run once instance. Did you read the rules at http://wpkg.org/Support? :-) In general reading the logs should not be so much of a problem as usually the output within the logfiles, event log and on the console is as follows: ... package package-name (package-id) installed... So this means you would see something like ... package Pidgin ({0EFDF2F9-836D-4EB7-A32D-038BD3F1FB2A}) installed... Which is not really unreadable as the ID is mainly for administrators anyway. I think introducing another guid attribute would be redundant as the id was exactly mentioned to be used for this - identifying the package. Describing the package in a readable form is the purpose of the name attribute. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Vista and WPKG
Hi Frank, Dr. Frank Lee wrote: I've got a few Vista machines to support now, alas, so I've been giving some thought to how to get some information about what WPKG is doing to the users. This mail is me thinking aloud so that people get a chance to direct my efforts - or maybe offer assistance! I am maintaining XP and Vista clients too. That's why I made some enhancements for full Vista and also 64-bit support in wpkg.js. The current WPKG client uses winlogon hooks to display its user message. These hooks have been removed from Vista so we need to use a different method. So far I've coded up a proof-of-concept executable which uses the WTSSendMessage API to put a message on the session attached to the physical console of the system (works under Vista Enterprise and XP Pro). You're right - I never tried the logon delay feature on Vista. So you say I don't have to try ;-) In fact I don't like the logon delay feature so much as I do not want to keep users waiting. I am installing the package in background while the user logs on. My experience is that WPKG finishes its work (even when some smaller packages are installed) before the user actually gets the chance to run some applications. And even if the user already started applications - in worst case installation fails and it will be re-tried on next start until it succeeds. Some (most?) installers can also handler the case when the application is currently running. Either by closing it or by scheduling file replacements for next windows start. I'm using named pipes to communicate - the intention is that wpkg.js will be able to send information down the named pipe to communicate to the user. WTSSendMessage just displays a message box to the user with at least an OK button, so what I think I need to do is have a thread monitoring whether the user has dismissed the message box or whether the message box has timed-out, and immediately produce another one with the latest message. Another thread will monitor the named pipe and put the latest message into a buffer for display. (That's today's job!) As already outlined when we discussed about displaying some progress information when using logon delay: I did not find a way to use named pipes by JScript. There seems to be no way as it is impossible to open a named pipe by JScript. That's why WPKG 1.1 is writing status information to STDOUT in order to allow re-directing of STDOUT and parsing its output. That's currently the most reliable way I was able to figure out. Well if we find a better way it might be quite simple to implement. Current WPKG architecture would allow to exchange the STDOUT printing with any output module. But remember, it needs to be very reliable and stable - I will not accept proposals which require hacks or external programs or other unreliable and complicated work-arounds as I consider this feature to be much less important than stability. I think this means that there's no guarantee that the message from WPKG will actually get seen by the user (message A might get displayed, message B might be over-written by message C while message A is displayed, then message C is displayed) but perhaps offers some information about what is going on. I am quite sure a thread could pick up the messages fast enough. However named pipes might not work - see above. Capturing WPKG STDOUT to a buffer might work better. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Vista and WPKG
Hi Frank, Dr. Frank Lee wrote: That method would be possible too. There's a page http://www.codesegment.com/sms_studio_help/Help/Tutorial/Samples/How%20to%20Send%20a%20Message%20through%20Named%20Pipe.htm on using Named Pipes through VBScript, so I'd imagine the same approach would work through JScript since they both use WSH. Unfortunately this is not true. I tried and lost about 2 days searching for a solution but it seems to be impossible. I know it works with VBScript, but not with JSCript. I'm hoping that using named pipes would be quite easy: try { writeToNamedPipe(msg); } catch (e) { // Oh well, it didn't work. } This is what I thought as well. But implementing writeToNamedPipe(msg) is actually the problem. We might need an equivalent of dinfo() to indicate messages for the user and perhaps some configuration about what messages ought to be sent. (I'd like lots of detail but I suspect others wouldn't!) This is addressed by the status print feature of WPKG 1.1 already. WPKG already supports it, WPKG client is under investigation to be enhanced to read the output of WPKG. At the moment, though, I'm concentrating on the code to display the message box and assuming that we can get the information into the named pipe easily enough, either through wpkg.js itself or by having something parsing STDOUT. Since the first proposal seems not to be possible I did the necessary changes already some time ago but currently printing to STDOUT. Of course this might be changed if somebody knows how to do it in JScript. It's more that there's no way of removing the message box once it's been sent to the screen (I think - corrections welcome if I'm wrong about that), so it's possible that the message box thread would pick up a message which cannot be displayed while a previous message is being displayed and then gets a third message which over-writes the second. Why not using a thread which picks up messages and puts it to a local queue? I think ideally we might try to use the CreateProcessAsUser API and get a window where we can update things in real time, but that would be a job for later / someone who knows more than I do about this sort of coding! Also here, not much experience yet on this topic. Sorry. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Profile inconsitency: Package with ID 'imageresize' is listed in profile but ...
Hi Jose, Jose Cortijo wrote: ok, it works perfect now. Now just appear before all the process a message saying that the file is already in c:\windows\download installation, if I want to replace or not that file? any way to overwrite always?? but if I say yes, the package gets removed. I don't know exactly why you get this message. Let's have a look at the package definition once again: package id=imageresize name=Image Resize revision=1 reboot=false priority=100 notify=false execute=always !-- notify=false - does not notify the user (with true user would be notified) execute=always - always executes install cmd - sets time in this example execute=once - executes only once, and never again -- check type=uninstall condition=exists path=Image Resizer Powertoy for Windows XP / install cmd=\\delchnpek-fs002\wpkg-1.0.2\software\powertoys\ImageResizerPowertoySetup.exe /S /v/qn / remove cmd='msiexec /qb /l* c:\netinst\logs\powertoy.log x{1CB92574-96F2-467B-B793-5CEB35C40C29}' / /package I see some glitches here: 1. execute=always This attribute within the package definition should be set only if you wish that the package is re-installed on each WPGK run. I recommend to remove it in this case 2. remove command You use msiexec /qb /l* c:\netinst\logs\powertoy.log /x{1CB92574-96F2-467B-B793-5CEB35C40C29} Probably it would be a good idea to replace /qb by /qn parameter. package id=imageresize name=Image Resize revision=1 reboot=false priority=100 notify=false check type=uninstall condition=exists path=Image Resizer Powertoy for Windows XP / install cmd=\\delchnpek-fs002\wpkg-1.0.2\software\powertoys\ImageResizerPowertoySetup.exe /S /v/qn / remove cmd='msiexec /qn /l* c:\netinst\logs\powertoy.log /x{1CB92574-96F2-467B-B793-5CEB35C40C29}' / /package NOTE: Just pasted this one - not tested. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] unexpected installation of already installed package
Hi Mark, Mark Nienberg wrote: I was beginning to edit a package definition in packages.xml with the intention of gradually fixing and testing it. The package was already installed on a number of workstations, but I did not change the revision number, which was zero. I revised some of the install and upgrade commands and I changed the check condition. I was surprised to find that workstations were trying to install the package when they booted. As I said, the package was already installed on the workstations and there was no change in the revisions number. I'm guessing the workstations noticed the change in the check condition (which they did not meet) and decided an installation (not an upgrade) was needed. Expected behavior or a little bug? You could be right. The install function took the server side definition to check if a package is installed. In your case you probably got a log entry like Installed but checks failed. Re-Installing. I will verify this. I think WPKG should use the checks defined in local wpkg.xml to check if a package is still installed. The change should be simple. Just change if (isInstalled(packageNode)) { to if (isInstalled(installedPackage)) { somewhere at line 2450. As a result WPKG will execute the checks if a package is installed by using the locally defined checks. After tests (and probably your feedback too) I will include it within the next patch release. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] WPKG and Vista UAC
Hi Vladimir, Vladimír Pšenička wrote: I have found problem with Vista machines and UAC enabled. When WPKG client starts on Vista machine and start installing some SW a see in event log permission errors (about need to elevate user rights, although user installing SW is member of domain admins group) I have czech Windows so I apologize for mistakes in translation. Is possible to install SW with WPKG correctly on Vista with UAC enabled? So I assume you're running WPKG manually (by the user logged in). You might consider running WPKG automatically as a service using WPKG client. WPKG client installs a service which runs with SYSTEM privileges. This works even with UAC enabled. Alternatively have a look at my execute-elevated.js script I recently created. You can find it here: http://wpkg.svn.sourceforge.net/viewvc/wpkg/wpkg/current-development/tools/execute-elevated/ For example you can run it as follows: execute-elevated.js \\path\to\wpkg.js /synchronize An UAC dialog will pop up asking you for the administrator account/password. If your user has administrator privileges, then you might also enter the same user credentials again. After that wpkg.js is launched by execute-elevated.js with elevated privileges. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] WPKG and Vista UAC
Hi Vladimir, Plases read the Rules: http://wpkg.org/Support Vladimír Pšenička wrote: WPKG path user is domain account (in Domain Users group), which have access to network share, where is SW WPKG execution context users is SYSTEM This combination doesnt work (access denied) For me it does perfectly. I guess you probably did not specify a full user name including the domain prefix. You need to specify the username to access the share in the form domain\user not user user as Windows will use a local user name in this case. Here is a sample configuration which works for me (settings.xml): ?xml version=1.0 encoding=UTF-8? configuration file\\software\RemInst\wpkg\wrapper.js/file path-userMYDOMAIN\domainuser/path-user path-password*hashed-password*/path-password exec-userSYSTEM/exec-user exec-password/exec-password parameters/synchronize/parameters silentYES/silent pre-action/pre-action post-action/post-action show-GUINO/show-GUI logon-delay0/logon-delay logon-message-1Installing apps./logon-message-1 logon-message-2do not reboot/logon-message-2 script-variable name=SOFTWARE\\software\RemInst\software/script-variable script-variable name=SETTINGS\\software\RemInst\settings/script-variable prioritynormal/priority stop-service-after-doneYES/stop-service-after-done laptop-modeYES/laptop-mode server-connecting-methodstandard/server-connecting-method server-connecting-ipsoftware/server-connecting-ip server-connecting-timeout3/server-connecting-timeout server-connecting-script-timeout3/server-connecting-script-timeout server-connecting-script-file/server-connecting-script-file /configuration br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] WPKG and Vista UAC
Rainer Meier wrote: For me it does perfectly. I guess you probably did not specify a full user name including the domain prefix. You need to specify the username to access the share in the form domain\user not user user as Windows will use a local user name in this case. One more note regarding this topic. Remember that Windows only supports connections to one server using single user credentials. This means that if you already have some connections to your server - WPKG will not be able to connect to your share using different credentials. This can become a problem for example if a network printer is attached from the same server where you want to connect your software share from. In such case you won't be able to connect as Windows will always use guest credentials for the software share as well due to the fact that it already connected to the printer using guest credentials. This is a very annoying feature of Windows. So my work-around was always as follows - and it worked perfectly: I entered a host alias name in smb.conf: netbios aliases = software And this alias is used only for software distribution (no printers or other stuff connected to this alias. So my printer is connected at \\server\printername. While WPKG uses \\software\RemInst share. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] WPKG and Vista UAC
Hi Vladimír Vladimír Pšenička wrote: Yes they are on different shares (machines): WPKG (wpkg.js, xml files etc.) are in netlogon share on PDC (samba) and software installers are on BDC (samba). Is this any problem? Yes, this might be a problem. WPKG client connects to the share where wpkg.js is supposed to be using the configured credentials. It does not connect to the share where the packages are stored. WPKG client even does not know about this share since the path is specified within the package definitions (which are known only to wpkg.js). As a result wpkg.js tries to connect to this share. Windows does not know about specific logon credentials and therefore connects as guest. As a work-around you might use a pre-execution script within the configuration of WPKG client like.. @echo off echo Connecting share net use x: \\server\share /USER:DOMAIN\user password /PERSISTENT:NO As a result when wpkg.js accesses \\server\share\path\to\some\files... it will use the credentials already saved by the command above. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Execute check and pipes
Hi Daniel, Daniel Dehennin wrote: In the log I got: Execute check for program 'at \| %WPKG%\bin\grep sc start wpkgservice' returned '1'. Evaluating condition 'null' revealed false when comparing to expected value of '0' It looks like the exit value of the expression is 1. I did not test with the pipe character yet - so I can't tell you if the WScript exec method allows it or not. I might do some tests if I have some time left... hmm, not so much at the moment... Does it fail because of the \| ? Probably because of the pipe character, but not because of the \ in front of it - see below. I don't know if the \ is only for the log output or if WPKG try to run the command as it's shown. Yes, it is only for the output. WPKG prints each log entry onto one single line replacing linefeeds by '|'. This makes the log easier to follow/read. Of course if somebody wants to use a log-file browser and restore the linefeeds then all pipe symbols within the output would become linefeeds as well. So it's a basic principle that special characters need to be escaped if they are used without their special meaning. So yes, wpkg.js is just adding the \ in front of the | symbol during log file writing, not during execution. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] the remove cmd can't work
Hi Jeffery, Jeffery Yap Choon Ming wrote: Hope someone can help me. I have install the Mozilla and try our, it works fine. Unfortunately, I cant have the WPKG to remove the apps via remove cmd= Are there any steps missing? Unfortunately you do not specify what you try to do. There are at least two (common) ways how to remove a package: 1. By launching wpkg.js directly: wpkg.js /remove:Mozilla 2. By removing your Mozilla package from the profile (or completely from the package definition) and running 'wpkg.js /synchronize' again. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Installer for windows 64 bits
Hi Vincent, Vincent MALIEN wrote: hello, I use wpkg for installing firefox (and other softwares), it works good, but it fails on computers using Windows vista 64 Bits (it should be the same on XP 64 bits): I added to the basic installation given on the site, the following line to lock user preferences / Firefox settings for all users (like proxy etc.): install cmd='xcopy /Y %SOFTWARE%\firefox\all.js %ProgramFiles%\Mozilla Firefox\greprefs\*.*' / install cmd='xcopy /Y %SOFTWARE%\firefox\mozilla.cfg %ProgramFiles%\Mozilla Firefox\*.*' / but Firefox Setup 2.0.0.14.exe runs on the folder: Program Files (x86) and those lines copy the files to the folder Program Files. how do I Deal with this? I didn't find any advice about this on the web site. Shall I add a check condition in the installer like this: check type=file condition=exists path=%SYSTEMROOT%\SysWOW64 / or have you got a better solution? Here's the way I do it usually... First of all make sure that you're running WPKG using wrapper.js. Read within the header of wrapper.js on how to use it. Especially do not forget to put 64-bit cmd.exe to the 64-bit/ sub-directory. If you don't do this then WPKG is run on 32-bit CSCRIPT version which has no possibility to access folders like %SystemRoot%\System32 as it is re-directed to %SystemRoot%\SysWOW64. Well, all this does not solve the problem that %ProgramFiles% accessed on a 32-bit command is not the same as %ProgramFiles% accessed within a 64-bit command. I usually create a postinstall script to do actions as you do it above. This also makes it easier to track. In your case it could look something like %SOFTWARE%\firefox\firefox-postinstall.cmd: @echo off set PROG_FILES=%ProgramFiles% if not %ProgramFiles(x86)% == set PROG_FILES=%ProgramFiles(x86)% xcopy /Y %SOFTWARE%\firefox\all.js %PROG_FILES%\Mozilla Firefox\greprefs\*.* xcopy /Y %SOFTWARE%\firefox\mozilla.cfg %PROG_FILES%\Mozilla Firefox\*.* exit 0 I use the fact here that %ProgramFiles(x86)% is defined only on 64-bit systems. So I know it is a 64-bit system. Then embed it to your package: install cmd='%SOFTWARE%\firefox\firefox-postinstall.cmd' / NOTE AGAIN: This does only work properly if you execute wrapper.js which calls 64-bit version of cmd.exe. If you call wpkg.js directly from WPKG client (which is currently only 32-bit) then it will invoke 32-bit cscript.exe and therefore you get re-directed folders. In addition package checks for uninstall entries of 64-bit software will only work if wrapper.js is used. As soon as a 64-bit version of WPKG client is available this step can be omitted and 64-bit WPKG client can directly call 64-bit cscript and launch wpkg.js directly. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Question about / suggestion for wpkg.xml
Hi Denis, as far as I understand the handling of wpkg.xml, package information will be imported into the file when 1. there is a new package for the computer or 2. the package revision number was increased. Correct, the information will be updated only in case the install/upgrade was successful. Please note that there is an upgrade-before-remove feature which will execute an upgrade of a package which is scheduled for removal. This makes sure that system administrators could publish/correct wrong uninstall strings before removing the package from clients. But if you for example realize that the check is to specific (works on some computers, on others not) or the deinstall string is wrong and increase the revision number to update the package information in the local wpkg.xml, the software will be installed again (update command). In such case I would clearly say that the checks are wrong/incomplete and therefore it's absolutely the right way to update the checks and make them available to _all_ machines (including the ones it already worked. So fix the checks and increase the package revision number. If you don't specify any upgrade commands then you will have exactly what you request here: - machines which already have the package installed will do nothing but update package information in local wpkg.xml (assuming that the new checks are valid for these machines as well). - machines where the check failed before will not have any wpkg.xml entry yet (package installation not successful. So the fixed package is _installed_ - install commands executed. Finally all machines will have the new package installed. On the ones where the old one already worked nothing will be done except updating wpkg.xml. Is there a way to tell wpkg to only update the info in wpkg.xml without installing the software? Otherwise I would suggest adding such an option that the wpkg.xml-info will be updated without installing/upgrading the software and another one which prevents adding the info. No. This makes no sense. Especially the checks are executed on each wpkg run (unless execute=once is specified for a package). However the feature you're asking for is already there. Just re-define the package and do not specify any upgrade command. The second option would be useful e.g. for changing user passwords per wpkg as described in http://wpkg.org/Various_settings (at the moment the admin password would be logged to wpkg.xml). An option to prevent writing to wpkg.xml is not needed. You can specify execute=always within the package definition. Which would have the same effect. Just remember that if you would prevent adding package info to local wpkg.xml then WPKG cannot know if it has been installed already. So such a package would become an execute=always package automatically. If you would like to prevent storing passwords locally then simply do not add the password to the package definition - very easy ;-) How? Just specify an install command like \\server\share\change-admin-password.cmd. Then just put all the protected commands there. If it is on the same share as wpkg.js this share can even be protected by user/password (see WPKG Client documentation) and it it quite well-protected. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Ideas for features.
Hi, [EMAIL PROTECTED] wrote: I had a number of ideas for various features or code designs that might simplify some of the problems and make some good proposals. I'd have thought you'd have already got them on the timeline but as I've written a number of these bits into a custom version of the WPKG.JS already and have a few bits of other useful code I thought it might be useful! I wrote a huge message outlining those but I didn't want to hit the list with a huge message so I wonder if you'd find any of the following useful; Let's see - probably we could try to sync-up some of the ideas after 1.1.0 release. 1) A very basic sprintf equivalent for text output. To simplify message formatting and maybe offer language support from an language.XML file? It could be very handy for the GUI :-) WPKG output depends on the command line switches and the configuration. The log() function is the centralized logging and printing instance. The only thing which needs to be passed is the log message itself. Well, there is not much to format within these strings usually. At least I never missed sprintf or an equivalent function yet. Language.xml might be helpful. However at the moment there are only a few messages to be localized. WPKG.js reads them from config.xml which is currently the _only_ file really needed on server side. In addition WPKG client does not read any of the files on server side (except invoking wpkg.js). I am not sure if it is within the strategy of WPKG client to support such a feature as localization on Windows applications is usually included within the application itself (included in the installer). We might discuss about it. For WPKG it's just a matter of definition from where the translation are read. But I would prefer to keep the number of required configuration files at a minimum. 2) Extra check rules; I have Battery checks; to detect laptops, Disk Size/Free checks; to prevent installs clogged up and failing from disk space problems, RAM checks; to stop installs failing because of pre-requisites. Hmm, shouldn't the installer check these requirements (diskspace, memory...) and fail with an appropriate exit code if it does not meet the minimum requirements? Checks are meant to check if an application is installed or not. If somebody would define a check like memfree 512MB then this check would probably fail after next boot after the installation of some additional services. Thus triggering a check failure and making WPKG think the application is not installed. In addition some of the checks might not be directly available to WPKG from the JScript API. I prefer to use stable APIs only. Low level information like battery status might not be available within a clearly defined API. However there is already a check type called execute within WPKG 1.1.x - this allows you to trigger any external application which could do exactly these checks. Probably some helper tools (which could be implemented in any programming language) could be developed and added to the repository in order to be included within the shipment. So administrators could execute these binaries right off the share as required. Instead of growing wpkg.js trying to implement every possible check in the world I prefer to outsource these very specific checks. Then they can be developed, debugged and maintained independently. 3) Tidy up ideas. Some of the standard WScript objects are created globally AND locally which is probably isn't necessary. A couple of processes can be re-factored into functions etc. Just general stuff I'd be happy to create patches for to make it easier to read the code and save some typing :-) I know - most of them have been done on purpose (data encapsulation). Global variables have been avoided as much as possible. Probably there are some glitches I missed to change from 0.9 - but in general the only global variables should be listed within the header. Probably we can discuss about cleanups for 1.2.x? And last but not least; 4) Two other alternatives to the Service/IE7/External command GUIs. I've got a working .NET ActiveX/Com object that might do the job. I also have some experience with .HTAs that might be useful if you'd like to encapsulate the WPKG.JS with a built-in dialog (The script I've got is in VBScript so it might need a bit of time to convert it). It might help save some of the service wrangling Rainer's doing at the moment. If they work how I expect, it might also give Vista users a chance to have a rough GUI for installs too :-) This sounds interesting - probably an enhancement to target for 1.2.x too? Well You say it's written in VBScript. My experience is that especially some things close to the system are not available in JScript (which are actually available to VBScript). But as I said, we could have a look at some ideas. I try to find some time to finalize 1.1.x and make
Re: [wpkg-users] Ideas for features.
Hi Brian, Brian May wrote: This check could be quite useful, e.g. if (not mains powered battery 20 mins left) { skip wpkg stuff } (no point turning on your laptop computer to find wpkg drains the last bit of battery life on installing package updates you didn't need) and/or maybe: if (wireless network connection) { skip wpkg stuff // so not to overload wireless network } Not sure how you could implement either one though. Yes, I agree that in some cases it could be useful but not as a package check because this check is totally unrelated to the package install status. Such checks should be executed prior to wpkg execution - WPKG client already supports such pre-execution checks. As I proposed such tools which allow to do such checks and exit with certain exit codes could be created and provided as a tool set. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] WPKG Client 1.3.4 released (testing release), including 64 bit support
Hi Falko, Falko Trojahn wrote: - it would be nice to have the installation status messages localized via config.xml - this could be easily adapted in wpkg.js using the existing getLocalizedString() function? I thought about this but my initial idea of localization of status messages has been slightly different. The messages printed by wpkg.js (to be read by the GUI process) should be easily readable by the GUI in order to display status information (not just pass-on the text printed by WPKG). For example I had in mind that the GUI could display some progress bar (or even cake diagrams or whatever)... For that I created some easy-to-parse printouts. So actually I think the GUI should be responsible to display localized information to the user - just receiving technical data from wpkg.js. This is more compliant to the MVC principle. Here wpkg.js is the server/controller part and WPKG client would be the view part. In general I think the GUI should do localization and data exchange between the controller and the view should be a technical, language-independent format. We might even think about different GUI styles later. One GUI might display the names of the packages, others might just display a blinking caret and print the number of packages installed... - I know, there has been yet a similar discussion about that in the list, but: would it be possible to get the sendStatus messages (or, at least, the event log messages with source WSH and Wpkg Service) on the Wpkginst tool page after (re)starting the (remote/local) Wpkg Service? Hmm, I am not sure what is the purpose of this request. Any tool could read the event log messages from WPKG from the event log and display them. The sendStatus messages are used only to communicate the current state of WPKG to the GUI using STDOUT. Of course WPKG GUI could display a kind of log what it received. But this would be more a kind of debugging option. These status updates are not written to event log on purpose since as I wrote above they are meant to be an internal communication channel between the components. br, Rainer - Reporting bugs, all WPKG mailing lists http://wpkg.org/Support ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] WPKG Client 1.3.4 released (testing release), including 64 bit support
Hi Tomasz, Tomasz Chmielewski wrote: For that I created some easy-to-parse printouts. So actually I think the GUI should be responsible to display localized information to the user - just receiving technical data from wpkg.js. I beg to differ here. The main reason is that wpkg.js is an interpreted, human-readable language, and thus, can be easily changed by virtually every admin. WPKG Client, on the other hand, is a binary, and virtually no one can change the way it interprets the data in gets from wpkg.js, unless someone modifies a source of a complicated language (when compared to JScript), compiles it from scratch, and redistributes to dozens of workstations. The fact that wpkg.js is a human-readable script does not change decisions regarding the architecture of the platform. There is no reason why WPKG client could not use localization (lots of open source projects support multiple-languages by localization files). But the main issue which was not taken into consideration is that WPKG client needs to parse the information forwarded by wpkg.js in order to display some output on the GUI. Of course wpkg.js could forward the messages exactly the same way as they should be displayed. However that is only the easiest possible solution. I had a much more advanced interface in mind where WPKG client parses the output of wpkg.js and displays some much more nice figures (diagrams, progress bars etc.). This is only possible if WPKG client can easily parse the output of wpkg.js. This is exactly the reason why I push to clearly split up components using the MVC pattern. The sendStatus interface is a clear data interface between two components. It is not a GUI interface where wpkg.js displays messages to the end user. It is just forwarding data. If wpkg.js would translate the messages (for example by defining messages within config.xml) then it makes it almost impossible for WPKG client to parse this printouts since they might look different on each installation. In particular some of the fields presented to WPKG client currently might be omitted then since somebody does not like to see the progress (1/14) on the end user screen. But first, before we argument some more, we have to define what data we would like to display in a logon/shutdown delay window. First, let's take a look at wpkg.js /sendStatus output: 2008-05-16 12:49:02, STATUS : Starting software synchronization 2008-05-16 12:49:02, STATUS : Number of packages to be removed: 0 2008-05-16 12:49:02, STATUS : Install: Verifying package 'KB888111' (1/14) 2008-05-16 12:49:02, STATUS : Install: Verifying package 'Mozilla Firefox 2.0' (2/14) And here are some of ideas for the logon/shutdown delay window, we have some of them already: 1. Obviously, we need some messages that change every few seconds (these two defined in wpkginst.exe) - it signals the user that everything is fine. Something like this - or another moving element could be helpful. Like such a popular turning circle animation (vista hourglass replacement or Firefox loading indication). Personally I don't see the reason why we should still use two alternating messages. It could also be one single message and having another element on the GUI showing/faking some activity (in addition to the progress bar which could freeze for some time). Earlier I also suggested some kind of Statistics. From the data transmitted by the sendStatus function the following fields on the GUI could be displayed (below progress bar probably): - Deployment started at : date when synchronization started - Total run time : current time - start time - Current package install duration: current time - install start time The time values could be updated each second which also shows some progress to the user. 2. Because some users don't read messages displayed by a computer, something that moves on a screen is needed. Currently, we have a pseudo progress bar. Well right - see above for some more ideas. 3. What about a real progress bar? After all, at the wpkg.js outputs its progress, by using (1/14), (2/14) and so on. To be frank, I'm not very sure about this. In certain scenarios (a classroom full of workstations connected over wireless, installing something heavy, like Office). As wireless + many workstations = slow, it will mean the progress bar will halt for several minutes. Users, room cleaners etc. other non-technical people are very often friendly people, and sometimes they just hey, the progress bar hanged on some of the machines, so I just restarted them, you don't have to thank me!. So what about displaying a percentage, in numbers (7%, 58% etc., calculated basing on (1/14), (2/14)...) in a pseudo progress bar? Well a progress-bar implicitly indicates some percentage. WPKG client could calculate this from the sendStatus output (as suggested). However displaying some absolute
Re: [wpkg-users] Installer for windows 64 bits
Hi, I haven't fiddled with writing .MSI files since I started playing with WPKG :-) ...but if you send me a log of the install (/l*v file) I'll have a look to see if I can see anything obvious. Hmm, unfortunately I installed without logging options. Probably somebody noticed the same and stored the log. Or I would have to re-do the installation. Thanks for offering help. Is this any help, http://msdn.microsoft.com/en-us/library/cd7a85k9.aspx? It suggests that you still have to explicitly target the files into the (x64) folders rather than just target Program Files and count on Windows Installer to handle it. It's a terrible design but I guess MS are being 'consistently' terrible :-) Thanks a lot for the link. Statements like Creating 64-bit MSI packages is not available in Visual Studio Express Edition. make me quite mad. Unix systems are available in 64-bit editions since years but Microsoft still thinks that 64-bit is not required or should be offered for business partners only. I know lots of private people who already hit the 4GB (3-3.5GB) limit with their Vista machine but Microsoft still seems to think that they do not need 64-bit. Personally I use 4GB on my Laptop and 8GB on my Desktop running Vista Business - and it still lags like Ubuntu on a Pentium I 350MHz with 64MB. Switching of Superfetch improves the situation slightly, but still... but I am drifting away... Try here, http://msdn.microsoft.com/en-us/magazine/cc163486.aspx. It's an interesting read. Again MS don't make it easy. If you added a manifest to wpkginst.exe to make it require Admin privs then you probably wouldn't need the exit button or greying out of save buttons either :-) Thanks again for the link. Unfortunately it is not true that such a manifest solves the problem completely. It would just make sure that I don't have to right-click wpkginst.exe and select Run as administrator each time. The UAC prompt will pop up automatically. However I would still have to enter the password of the administrator user each time I run wpkgins.exe. Therefore I would like to start it once and keep it open as long as I play with the settings. Now I am forced to close it down each time in order to apply the settings. Also from design point of view the Save button combines two functions: - saving the settings - exiting the program So these actions are coupled together and cannot be split. So what I am asking for is to split up the actions to two independent buttons. To users new to WPKG it might also be irritating that wpkginst.exe GUI disappears when they click the Save button. br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Installer for windows 64 bits
Hi Tomasz, Tomasz Chmielewski wrote: Note that some settings are not applied until the system is restarted - i.e., changing from logon delay to shutdown delay, because system restart is needed to make them work. (I'll comment on other issues in a few days). Right, this is entirely clear to me. As I wrote I would like to restart the WPKG service to verify some settings (like password to share or other things). It is clear that the logon delay (which is anyway not working on my Windows 64-bit) will not take effect until the machine is rebooted ;-) br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] new web-based wpkg manager
Hi, mscdex wrote: Lately I've been tinkering with the idea of creating a new web-based utility to manage wpkg profiles, packages, etc. The existing wpkg web utility is outdated (last updated in mid-2007ish) and the maintainer for it appears to be no longer active. I believe having a decent (and active) frontend project would help a lot of people, even those of us who don't mind manually modifying XML files and such. It might even allow many of us to sell wpkg to some of our clients by showing them how easy it is to manage software deployment (for free!) I absolutely agree. Personally I am still using WPKG WEB even if it is unmaintained and I cannot use some features introduced by myself into WPKG ;-) In fact I could export the XML files at any time and continue to use XML files. I don't mind editing XML files but WPKG WEB provides a more nice interface and it is good if some GUI is available to show to some administrators looking for a software deployment tool like WPKG. So I really support the idea to develop a new web-based package management tool. So now let's list some suggestions: - XML import/export I think it is important to support exporting the resulting XML files. This helps for debugging or in case somebody will switch from GUI to manual XML edit. The import feature seems to be very important to me in order to support smooth migration. Probably it does not make much sense to migrate the current WPKG WEB database but just export all XML files from WPKG WEB and then import the XML files to the new GUI. - Support XSD I worked on some XSD files to define the syntax of package and other WPKG XML files. By loading the XSD file within the GUI it should be possible to provide an editor which displays a nice GUI with pull-down lists for enumerated lists, check field contents by XSD definition and so on. I am also thinking about a kind of advanced button on the package edit page which would allow to insert/edit all attributes according to XSD (in case the GUI does display only the most frequently used ones). This would allow to support new syntax, attributes and nodes even if they did not exist when the GUI was created. There might be a plain-XML tab/button as well to allow direct edit of the XML source (which is of course validated by XSD). This could even convince hard-core XML administrators to use the GUI as it offers full flexibility to them. - Templates Most packages are based on a small number of installers. For example NSIS, MSI and InnoSetup are very common. It would be nice if there would be some (customizable and extensible) templates available to the administrator. So one could click on create new NSIS package and a new package which already includes %SOFTWARE\softXY\setup.exe /S as the installer command and the likely. - Ajax Well, nice buzzword. I hate buzzwords. But in this case I see some very nice use cases. The current WPKG web interface for example allows to re-order checks or commands. However continously clicking on the ^ or v button to move an item up or down is annoying. The same applies for different sections of the XML files. I like the tabbed interface of WPKG WEB but it needs to reload the whole page on each operation. Well, this is not a blocker but could for sure increase speed and usability. - Usability in general Unfortunately this is nothing which can be described in general. I think it needs to be a process of discussion. Especially developers tend to create huge, complicated GUIs which provide very poor usability. I am sure we have some people on the list which could then contribute to make the GUI better. I just suggest to be open to usability comments or even better: ASK FOR USABILITY COMMENTS. In general I suggest keeping the main GUI slim and easy to use with some extension points (like advanced or buttons to open an advanced edit panel or similar stuff). I would say 90% of the packages can be done with very few configuration and 80% of the WPKG features are only used in very very rare cases. Try to follow the KISS principle (Keep It Simple and Stupid). Just my five cents for now, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] new web-based wpkg manager
Hi Joe, Joe Konecny wrote: Although I have never used it I assumed that the web front end used the xml files already. If not, I agree that it should. No, it does not. It uses a database backend to store all information. WPKG includes direct support to read the XML files using HTTP protocol (using basic authentication). This is quite efficient as WPKG just needs to fetch the XML files using HTTP instead of connecting to a CIFS share to open several files (which can be quite inefficient). I made good experience even on slow VPN connections using WPKG WEB and HTTP access while I was not really satisfied with access speed of CIFS shares over slow VPN connections. See config.xml and wpkg.js parameters to read more about how wpkg.js can fetch XML files from HTTP URLs. The new WPKG WEB could probably support the same interface too (which is a nice-to-have feature). br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] new web-based wpkg manager
Hi Tomasz, Tomasz Chmielewski wrote: A command line interface for retrieving the files directly from either: a) the database, or b) from the web interface wget would do here, provided there are some sane links and files to download from, i.e.: http://server/wpkg-web/all-packages.txt would return a list of all packages, one package in a row. Then, iterate through a list, i.e.: http://server/wpkg-web/packages/$package.xml Useful for the servers which don't have any web interface. The current WPKG WEB interface supplies a similar interface. Instead of having to fetch a list first it returns an XML file containing _all_ packages. Note that one XML file can contain as many package definitions as you like: packages package ... /package package ... /package ... /packages So WPKG even does not have to fetch a list first in order to fetch the package definitions. However I think it is not a problem for a WEB interface to provide all interfaces: - URL to fetch XML with all package definitions - URL to fetch list with package names - URL to fetch XML which contains only single package definition It also does not matter if the platform stores the XML files internally to one or to several XML files (or to database) it just needs to provide the information on a defined interface. Of course it would be nice if at least the existing interface for WPGK WEB would be stills upported (fetching single XML file with all package definitions). br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] WPKG client 1.2.1 oddities..
Hi Manny, Manny wrote: Show GUI is enabled, when I start/stop the service I do not see a window starting cscript (this is VISTA 32bit btw) Just another hint which is related to a Windows issue I discovered many times... Are there any other services provided by your production server? For example it might be that it provides network printers. If printers are connected, then Windows already has a network connection associated to this server. In such case the WPKG service might fail to map the temporary share to load WPKG by using the specified user. Windows usually reports a message like The network folder specified is currently mapped using a different user name and password. To connect using a different user name and password, first disconnect any existing mapping to this network share. As there is usually no way to disconnect such automatically connected network resources (printers are loaded on startup) then this method fails. My solution to such a case: Use a server alias. Personally I use Samba servers where it is very easy to create an alias name for the same server. So my clients connect to \\server\printerXY and \\server\someshare in order to map all production shares. WPKG client instead uses \\software\RemInst share which is actually on the same server but Windows treats it differently due to the fact that it thinks it is a different server. Therefore I can connect to \\server\printerXY using guest and using instadmin to connect \\software\RemInst even if I just run one single server. br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] WPKG client 1.2.1 oddities..
Hi Tomasz, Tomasz Chmielewski wrote: If you're using net use ... as Execute before, can it be that there are conflicting network information for Windows? Yes, this can happen. I pointed this out several times on this list already. For example Windows might connect network printers from the same server as you are about to connect a share. In such case even net use * /delete does not help due to the fact that the printer is not a network share and is therefore not disconnected. Windows has some problems mounting different network shares with different network credentials - can it be it? To be more precise Windows is unable to mount multiple shares from the _same_ server using different credentials. It does not matter if it is the same or a different share you try to mount. Windows can only save one set of credentials PER SERVER. As a result the first resource you use will set the credentials to be used for all other resources on the same server (unless you manage to disconnect all of them first). In case a workstation maps a printer from a server this might be connected using guest credentials (even before WPKG runs) and therefore mapping a share from the same server using different credentials fails. Therefore I repeat my advise: Use a server (or alias) which does not provide other Windows resources than the ones required by WPKG. br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Error when writing to event log
Hi Joe, Joe wrote: Right but I am concerned that an error dialog would pop up (I'm running wpkg as a scheduled task with a user called wpkg) and the actual user logged in (or maybe there is no user logged in) would never see this error. Then wpkg is effectively frozen awaiting input. There is no error dialog opened by WPKG. If the /quiet flag is used then it writes to the event log. This is the preferred way of logging WPKG actions as it integrates well into Windows management tools. In addition newer WPKG versions can log to plain text files. So if you do not set /quiet, then it will write to STDOUT (which is not displayed if WPKG runs as a service in the background). Therefore there will be no output. There is also no dialog box opened (unless you're wrongly executing wscript.exe instead of cscript.exe when running wpkg.js). Unfortunately the Windows XP event log is quite small and so it might happen that it runs full. In such case WPKG detects write errors to the event log and falls back to STDOUT logging. Logging to the log-file is not affected by this - it will continue as usual. Note that in any case (/quiet used or not) it is recommended to use /nonotify in order to prevent notifications sent to the user. These notifications would be sent using 'net send' command, so WPKG will not stop waiting for the user to confirm the dialog box in any case. In your case please clean the event log of the affected computer. I suggest also to make sure /debug flag is NOT active. Please note that you can still get DEBUG level log-files by setting an appropriate log level. LegLevel does not affect verbosity of event log entries while /debug does. So I recomment not to use /debug since it can fill up Windows event logs within one or two runs. I do NOT recomment removing the /quiet flag unless you are not interested in the event log entries at all. Usually if /debug is not enabled WPKG will just print something to event log in case of package changes (updates, new packages, delete packages, execute=always packages) which should be only a few (or none at all) entries per run. In worst case WPKG still completes correctly by just failing over to STDOUT. Please also note that some other Windows tools/programs will have problems if event log is full. Some programs simply start to behave oddly. It looks that most programmers do not expect getting an exception when writing a simple log entry (also WPKG did not unless we analyzed the problem which was actually hard to discover and reproduce). Again, what you should do: - Clean event log on affected machine - Make sure to use /quiet flag - Make sure to use /nonotify flag - Make sure NOT to use /debug flag br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] setting the current directory for setup.exe?
Hi Kent, Kent Tong wrote: It's the setup.exe program for tera term pro. I think it is MS Setup. It will look for the ttermpro.inf file in the current directory. I can't use cd because it is a UNC path (%SOFTWARE%/bin/teraterm). UNC paths might not work for this setup program. You can try to specify a workdir=path attribute within the install command. This will be used as the working directory. However as I said specifying an UNC path name (e.g. \\server\xy) might not work for the setup. In that case I suggest the following: Write a small batch script which does the silent installation. Some untested code: @echo off echo Installing Tera Term copy %SOFTWARE\bin\teraterm\setup.exe %TEMP% copy %SOFTWARE\bin\teraterm\ttermpro.inf %TEMP% %SYSTEMDRIVE% cd %TEMP% start /wait setup.exe set EXIT_CODE=%ERRORLEVEL% del ttermpro.inf del setup.exe exit /b %EXIT_CODE% Then run this command script instead of setup.exe. I did not test the script above. It was just written to give you some idea. br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] wpkg.xml - how to delete or rebuild by wpkg
Hi Johannes, [EMAIL PROTECTED] wrote: I have modified some definitions for packages, especially the remove part. Is it possible to force a refresh of the local wpkg.xml file without deleting it? If not, is there a simple way to delete it ? If this file is not updated, it will work with the settings for update and remove which is written there, and not with the modifications I have done on the server. WPKG 1.x contains an upgrade-before-remove feature. This means that you can remove a package from the profile associated to a machine. When the machine encounters that the package is updated (you should have increased its version when you changed the remove command part), then it will first perform an upgrade and then execute the remove commands (which are the changed ones then). So do the following: - change remove commands in your package definition - increase package version (you just changed it above) - either remove the package or let clients just do the upgrade btw. you can also leave the upgrade command empty. So the upgrade will actually not do anything on existing systems. As long as the package checks still yield true. br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Variables - where can I use them
Hi Johannes, [EMAIL PROTECTED] wrote: Where can I use variables ? I mean in which section of a package, also for XML attributes, e.g. reboot =? In general you can use variables for all commands and checks, mainly file paths are expanded using variables. You cannot use a variable within attributes like reboot. Currently I cannot imagine a scenario where the reboot flag should be set within a variable. Probably you can explain what you have in mind. br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Conditional installation of a package
Hi Johannes, [EMAIL PROTECTED] wrote: Hello, I just began working with WPKG one month ago. And in the meanwhile, I have a bunch of questions. Here is the first one: Is it possible to NOT install a package under some conditions like other installed programs, OS level and so on? In general an administrator knows which OS is running on a machine. In addition most administrators try to keep their machines in a small number of device classes - like Windows XP clients, Windows Vista clients or similar. Therefore I suggest creating a profile for each of these profiles. I usually create a profile hierarchy: - company-global (packages which are installed on _all_ machines and operating systems) - company-xp (xp-only packages, only applied to XP system. The profile depends on the global profile and therefore automatically includes all its packages. Usually there is only a very very limited number of packages within this profile) - company-vista (vista-only packages, only applied to Vista systems. The profile depends on the global profile and therefore automatically includes all its packages. Usually there is only a very very limited number of packages within this profile) A similar profile structure might be applies in your case. In addition the latest WPKG 1.1.x milestone release contains a new type of checks: execute checks. This allows to execute an external check script (for example a cmd script). This script could return 0 (package installed properly) on systems where you do not want to apply the package at all. This makes WPKG think that it is already installed on the system and it will neither execute the install nor the update commands. Unfortunately it will still apply the update commands when you increase the package version number at a later stage. So this is not a solution for every case. Still the best solution not to apply a package to a specific host is not to include it to the profile assigned to the host. There are also no plans to change this since such conditions would be quite complex an WPKG would require to check all this conditions on each run. e.g. - check if package is installed - not installed? - run all pre-condition checks - do not apply the package It sounds quite silly to me to assign a package to a host which should not be installed on the host actually. Most pre-conditions include pre-requirements to the package (like software xy needs Java runtime installed). These can be resolved by package dependencies. So the pre-requirements are met before the package is actually applied. br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] wpkg.xml - how to delete or rebuild by wpkg
Hi Tomasz, Tomasz Chmielewski wrote: They should be updated when you increase package 'revision' tag It will start upgrade commands though. Correct. However this is not a problem at all usually. Most upgrade instructions (running the installer in silent mode again) can be run as many times as you wish without problems. If he wants to avoid this, then he can just remove (comment) the upgrade command of the package. So WPKG will execute nothing, then run the checks and find the software installed properly. After that WPKG will write the new package node to the local settings file. So a subsequent remove instruction will be read from the changed package definition. br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] hosts.xml - is multi profile membership possible?
Hi Kamil, Kamil Maciejewski wrote: Hello everyone, since I'm here, I'd like to ask my few questions: 1. Is there some way to use NOT EXIST as condition to install package? Why would I want to do this? Because I'd like to have packages that would ony upgrade installed software without doing anything when the old version is not installed. So package should check - if the software is not installed, it's ok, if it is installed - do an upgrade. This sounds a little curious to me. A package contains the following types of commands: - install - update If a package is already installed and the package version is increased, then WPKG will execute the update command(s). As I understood from above it is fine to run some update command when the package is already there. If the package is not yet installed at all, then WPKG will run the install command (which can be different to the update command). 2. Multi profile membership - best way is to explain this is an example - we have 3 computers and 4 packages - if we want computer #1 have installed packages 1,2, then #2 packages 2,3, and #3 packages 1,3 - I could create a profile for each machine, but when I have about a 100 machines? If I could split packages into few groups and can add hosts to more than one of them it would be ok, but as far as I tried typing in hosts.xml: host name=compname profile-id=profile / host name=compname profile-id=other_profile / It only uses the first profile :( I'd really like to have something like this working without creating dozens of profiles (having e.g. 100 machines and 20 different packages gives a really huge number of combinations). This is supported in WPKG 1.1.x milestone release. Please try the following syntax: host name=compname profile id=profile / profile id=other_profile / /host Alternatively you could create a profile structure where you create a virtual profile called compname which depends on the profile profile as well as on the other_profile profile without adding additional packages. The effect would be that all packages from profile and other_profile would apply to this compname profile. br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Conditional installation of a package
Hi Johannes, [EMAIL PROTECTED] wrote: Hello Rainer, let me explain my scenario: I have a bunch of different user groups: students, secretaries, consultants, managers, developers, support people. I created a hierachy in the profiles: 1st level: I grouped packages 2nd level: I grouped the packages for my different usergroups. This works fine, but now, one user got a new notebook with Vista and there are two applications, which do not work or which are no longer neccessary. My idea was to check in the application package if the OS is Vista and then not to install the package. Well, so you want to have a hack just for this one computer. To be honest I think this is quite a bad approach and makes the package structure difficult to maintain if there are lots of exceptions and pre-checks and the likely. As I wrote you could use a cmd script in the install command definition which executes the actual installer only if the package should be applied to the host (by executing any number of script-internal checks). Just make sure that you pretend to WPKG that the package is actually installed. For example the script could write a text file (e.g. %SystemRoot%\softXinstalled.txt) and you add a new check to the package like: - uninstall entry: softX installed OR - file exists: %SystemRoot%\softXinstalled.txt So the software will not be actually installed by WPKG but WPKG thinks it is. Thus not repeating the installation at each run. However I think it's not the best solution. I would rather prefer to create a new profile for vista clients. Of course this could easily double the amount of profiles you have (one for XP, one for Vista). However in my eyes this is a good idea anyway as you do not have to double the maintenance effort. In most cases you just update the package definitions and the same packages are refered within XP profiles as within Vista profiles. So no update required later on. Of course for some packages I also did similar things - I do some detection for special systems within the install script and I pass different parameters to the installer. However if a package is assigned to a node I generally want that this package is actually installed on that node - else I do not apply it to the node. An other case is that all applications we use can be installed on a PC with XP german on it. But from time to time, our support needs to setup PCs in english or french, and there are some applications which cannot be installed in them. Everythime the update is running, it tries again to install this package, but fails. Also here - these machines need a profile which contains packages which are working for the machine. WPKG is designed to install software and make sure it is deployed. It is not designed to make decisions whether a software should probably be skipped or not depending on some rules. The same as I wrote above applies here as well. You might write some packages which skip themselves when executing on an inappropriate node while keeping exit status 0 (successfully installed) - making WPKG think it is installed properly. WPKG offers a lot of extension points and possibilities (like the ones described above) in order to do such hacks. However I do not really recommend them as it makes it difficult to keep track of the actual software which is installed. Imagine you're doing some inventory or copying the local wpkg.xml to a server. Then the package is actually listed there, indicating it is installed. However you are not sure if it is really installed or if the install script somehow skipped the installation (probably wrongly). So I really suggest to assign only packages to hosts which should be installed. If you're not able to reduce the number of machine classes with different software base, this means that you have to maintain a profile for each of them (in worst case a list of packages for each node independently). This is not a problem of WPKG, it's a problem of planning. Operating an extremely heterogeneous environment also includes additional maintenance effort. It also includes additional testing effort as each package in theory would have to be tested on each machine independently to make sure it runs smoothly (if each environment looks slightly different). So I strongly advise administrators to operate as less machine classes (pools of machines with identical configuration) as possible. So, if I can state not to install a package if the language is not german, would be extremely helpfull. WPKG does not have such a functionality. As I wrote above if you operate machines with different languages and a different package set I suggest creating different profiles: - profile-langA - profile-langB If both profiles contain some packages in common you might use dependencies to minimize effort. For example I assume that the profiles differ only in a very limited number of applications (lots of
Re: [wpkg-users] distribution for windows based on winpkg?
Hi zyzy (nice name, by the way) zyzy wrote: Is it a silly question? Not really, I am just not sure I understand it properly... does some can just answer yes or no? or much;) I will try to. A server where we can fin several applications that have licences to be deploys? There is no such thing like a central repository. We do not host any software. However we supply a bunch of package definitions (which usually require you to download the corresponding installer) on our wpkg.org web-page. The license is one of the issues why we do not host the software (apart of the bandwith and the fact that it is quite useless and would be very expensive to mirror the software on our servers). We provide package definitions for various commercial applications as well. But it's clear that we do not supply the software. So feel free to purchase licenses, get the software from your vendor and then deploy it using WPKG. Is it a silly idea? No, not really, however deploying directly from internet is not a main target of WPKG. Most recent versions however support a download feature as well which would allow even to download the installer from the internet. So feel free to create package definitions which download the installer from (probably unreliable) internet sources and install it then. Most WPKG users however prefer to fetch/install packages directly from intranet SMB/CIFS servers. Does exist a bittorrent software client to download package that can verify hash code? I don't know how you think this is related to WPKG. There are numerous bittorrent clients out there. Some of them can be silently deployed using WPKG. However WPKG does not support downloading software via bittorrent protocol. You have to download your software in advance, make them available to your clients and then deploy/install it using WPKG. Hello, i have a noob question: is there a public distribution site for windows based on winpkg? thanks, Well, I was even not sure if you're talking about WPKG or another software here. It's called WPKG and not winpkg. Well, as explained above, there is no such thing like a public deployment site. You have to build your own (preferably local) deployment server. br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] distribution for windows based on winpkg?
Hi, zyzy wrote: I was thinking about a server that host package (wpkg config+ binaties) with a bittorent tracker. integrated wpkg server. Goal to made something like cygwin or ubuntu (but with bittorent to download.) At first sight the idea might be quite nice - I even thought about such a thing by myself once. However when you take a closer look there are several problems which makes such a solution much less attractive. Technical problems: - WPKG is written in JScript, might be hard to implement Bittorrent. Well, an external bittorrent client might be called. - Bittorrent download might take much too long to be a practical solution. Nobody is willing to wait for hours to install an update. Allowing the user to work while applications are downloaded is a problem since a user might run exactly the program to be updated a the time it finished downloading (locked files, update problems). - System administrators usually do not like that each client fetches its own copy from the internet which causes lots of traffic. Yes, bittorrent is nice to reduce load on the servers due to spreading but for a network administrator it's the same as an HTTP/FTP download. Each client fetches its own copy (well, at least large parts of it, some parts might be shared network-internally...) - Most companies even do not allow bittorrent ports or tracker access due to policy reasons. Also personally I would not allow every client to use bittorrent within my corporate network. - Integrity: No matter if HTTP, FTP, bittorrent or any other protocol; the problem is the same: Who wants to trust the central repository and its contents? Checksumming might help - but who verifies the packages? Organizational problems: - Somebody needs to maintain the server-side packages, updates, tests. Especially tests sometimes heavily depend on the clients used (language, specific settings etc.) - Options: Lots of programs come with various options for silent installation (create symbols, install modules...). Supporting all these options would require providing a package for each permutation of option-combinations. Which means that there will be quite a lot of packages for the same software. Again: Who is going to test/verify them? - Administrators need to refer to package IDs which are stored/updated somewhere remotely. I cannot imagine administrators fully relying on remote package administrators - a mistake on server side could easily bring business down by screwing up all corporate machines. There is no such thing like a testbed. At least not until WPKG architecture is going to be changed quite a lot (adding package release status and the likely). Currently WPKG also does not support defining multiple versions of the same package on server side while the profile refers to the specific version to be installed (might be an idea for the future by the way). There might be other issues but main issue is that a serious system administrator would never ever directly leave the integrity of all clients entirely up to an external resource. I do not deny that there might be some insane administrators out there who would try such a service. But seriously, I don't think it's a good idea at this moment. Well personally I am operating multiple sites which all use the same packages. The main difference is that I know my environment and I have full control over the packages I am releasing within any of these sites. WPKG perfectly allows you to create your own packages and use it within multiple sites - but the packages currently should be local to the site (copied to local server). br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Trouble installing Registry entries
Hi Tomasz, Tomasz Chmielewski wrote: packages package id=autoup name=Auto Updates From WSUS Server revision=0 Hmm, revision 0? Will that work? Yes, it should actually work. The revision just needs to be any integer number (and 0 is a valid integer). Well, the OP uses regedit.exe /s. I usually use the reg tool to directly manipulate registry keys. It might be that regedit.exe cannot read the reg file from %SOFTWARE% since it is an UNC path or it contains spaces. Probably the OP should try to quote the commands: install cmd='regedit.exe /s %SOFTWARE%\autoupdates.reg' / br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Trouble installing Registry entries
Hi Christopher, Christopher Leslie wrote: Well, getting closer on this one. After a week off due to a server changeover I've had a chance to play with this more in my test environment. Getting hits on the log file now, but the edits still aren't applying. I've tried as both SYSTEM and using Administrator Cridentials with the same results. 2008-09-23 14:05:54, DEBUG : Executing command : regedit /s %SOFTWARE%\Software\morrisoncert.reg 2008-09-23 14:05:56, DEBUG : Command in installation of Security Cert for IV4 returned exit code [0]. Success. 2008-09-23 14:05:56, DEBUG : Checking existence of package: Security Cert for IV4 2008-09-23 14:05:56, DEBUG : The registry path 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\ROOT\Certificates\910C309AD02F637DE043158A04ADDBE468E0422A' does not exist: the check failed 2008-09-23 14:05:56, ERROR : Could not process (install) Security Cert for IV4.|Failed checking after installation. The message is actually quite clear here. The registry key does not seem to exist. Could you please post the content of morrisoncert.reg as well as the package definition (XML sniplet) of the 'morrisoncert' package? br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Trouble installing Registry entries
Hi, Christopher Leslie wrote: Here's the .xml and the .reg packages package id=morrisoncert name=Security Cert for IV4 revision=1 priority=100 execute= always check type=registry condition=exists path=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\ROOT\Certificates\910C309AD02F637DE043158A04ADDBE468E0422A install cmd='regedit /s %SOFTWARE%\Software\morrisoncert.reg' / /package /packages Try changing the check to check for the existens of the written Blob value instead of the plain key: check type=registry condition=exists path=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\ROOT\Certificates\910C309AD02F637DE043158A04ADDBE468E0422A\Blob / In addition it looks a bit to me like the XML sniplet you used above is not valid XML (closing tag of check node missing). Well, I might be too tired at the moment... br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] problem with interactive installers
Hi James, James Cort wrote: Probably a silly question, but have you tried turning off UAC on the affected systems? I noticed a very similar issue when using Vista a few months ago - with UAC turned on, silent installers tended to fail silently. Well, disabling UAC might be a good hint as it helps to exclude lots of possible problems. However I left UAC turned on on all my Vista machines mainly to find issues with UAC by myself in order to be able to gain some experience (quite masochistic approach , huh) :-) Up to now I did not have such deployment problems even while UAC is turned on as long as I was using the (default) SYSTEM user within the WPKG client configuration. SYSTEM user does not seem to be affected by UAC issues. But probably the problem of the thread initiator is completely different. I suggest to analyze the WPKG log files (including debug output) as well as monitoring processes during WPKG execution: - Is the installer process actually run? - Any installer log file written? - Which exit code is returned when the installer process exits? br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Regex in depend tag? Or other method?
Hi, Robin Roevens wrote: I'm fairly new to WPKG and considering to use it so at the moment I'm designing the packages and profiles that I'm hoping to use... But I stumbled on a practical problem: Some computers have/need firefox 1.5 and some have/need firefox 3.x .. So I have 2 packages: firefox15 and firefox3 But then I also have AdobeFlash-firefoxplugin as a package, which depends on firefox.. Can you already see my problem here? Yes, if you need two different sets of software on different machines, then you need to create a profile for each of them. You might either completely duplicate it or create a profile with a common subset and then create two concrete profiles depending on the common one (actually inheriting its content) and adding the firefox package (one adds FF 1.5, one adds FF 3.x). Then assign the correct profiles to each host. Is there a way for this package to depend on firefox15 OR firefox3 whatever is installed without having to create 2 seperate packages with the dependancy as the only difference. I was thinking about using a regex firefox.+, but since it is nowhere documented, I assume it is not implemented in wpkg either and regexes only work on hosts? No, regex is not supported for package references. This has a simple reason. If you include or depend on a package you cannot specify a regex as it could match multiple package (which is exactly the intention). If it matches multiple packages, then WPKG does not know which one actually to install. Well, there might be a solution for it. Each package could provide a set or virtual features where both Firefox packages could provide a feature like webbrowser and you have a package depending on webbrowser. The drawback of this solution is the same as outlined above. If no package providing webbrowser is installed WPKG does not know which one to install. Instead currently you can specify a direct dependency on another package. If this package is not installed WPKG will take care about and install it. In your case you would need two Flash-Plugin packages, one depending on FF 1.5 and one on FF 3.x, then just add the correct one to the profile you create. e.g. profile: common - package a - package b - package c ... profile: users1 - depends on profile common - package FF 1.5 - package FF-1-flash profile: users2 - depends on profile common - package FF 3.x - package FF-3-flash Or is there some other decent method to handle this problem? As written above. Use different profiles for different applications installed. Even greater would probably be that there is a bit more version-control. So packages with a same name can exist as long as the revision differs. Then there could be dependencies to packages of at least revision x or with a revision lower than y and such.. and maybe even a stable and a testing/unstable branch, or is that going over the top? :-) There is an idea to allow including of specific versions to a profile. I will think about the possibility to create a dependency on a specific version as well. However even if supported I would not recommend it. The reason is simple - having a large package tree makes it difficult to maintain the packages as you always have to upgrade some dependencies and profiles which might still include the old version (leading to invalid dependencies/profiles). br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] getting started
Hi Kevin, Kevin McMahan wrote: I am having no luck and not sure what I am missing. Let's see... I am trying for now to get one program pushed out to our clients. OK. So the goal is to deploy one single package. Do I need to make changes to wpkg.js initially to get this to work? Any help is greatly appreciated. No changes to wpkg.js are required. The only thing you might change is config.xml but it works with default settings too. So actually no need to change anything. The only thing you need to do is: - Create packages.xml file (and/or multiple package XML definition files within the packages/ subdirectory) - Create profiles.xml file (and/or multiple profile XML definition files within the profiles/ subdirectory) where you assign packages to profiles. - Create hosts.xml file (or multiple xml files within hosts/ subdirectory) where you assign profiles to hosts. I ran a debug which gave me the following. Let's check. 2008-10-13 13:26:36, DEBUG : Initialized temporary local log file: C:\DOCUME~1\K_MCMA~1\LOCALS~1\Temp\wpkg-logInit.log 2008-10-13 13:26:37, DEBUG : Initializing new log file: C:\DOCUME~1\K_MCMA~1\LOCALS~1\Temp\wpkg-awws66.log [...] 2008-10-13 13:26:38, DEBUG : Trying to read XML file: \\ahc01\it$\wpkg\profiles.xml file:///\\ahc01\it$\wpkg\profiles.xml 2008-10-13 13:26:38, DEBUG : Successfully loaded XML file: \\ahc01\it$\wpkg\profiles.xml file:///\\ahc01\it$\wpkg\profiles.xml 2008-10-13 13:26:38, DEBUG : Trying to read XML files from directory: \\ahc01\it$\wpkg\profiles file:///\\ahc01\it$\wpkg\profiles 2008-10-13 13:26:39, DEBUG : Reading XML file: //ahc01/it$/wpkg/profiles/dialpad.xml 2008-10-13 13:26:39, DEBUG : Reading XML file: //ahc01/it$/wpkg/profiles/room1.xml Profiles loaded OK. 2008-10-13 13:26:39, DEBUG : Trying to read XML file: \\ahc01\it$\wpkg\hosts.xml file:///\\ahc01\it$\wpkg\hosts.xml 2008-10-13 13:26:40, DEBUG : Successfully loaded XML file: \\ahc01\it$\wpkg\hosts.xml file:///\\ahc01\it$\wpkg\hosts.xml 2008-10-13 13:26:40, DEBUG : Trying to read XML files from directory: \\ahc01\it$\wpkg\hosts file:///\\ahc01\it$\wpkg\hosts 2008-10-13 13:26:40, DEBUG : Reading XML file: //ahc01/it$/wpkg/hosts/dialpad.xml 2008-10-13 13:26:41, DEBUG : Reading XML file: //ahc01/it$/wpkg/hosts/room1.xml Hosts loaded OK. However the XML names indicate that they might actually not cointain host definitions (same as profile?). 2008-10-13 13:26:41, DEBUG : Trying to read XML file: \\ahc01\it$\wpkg\packages.xml file:///\\ahc01\it$\wpkg\packages.xml 2008-10-13 13:26:41, DEBUG : Successfully loaded XML file: \\ahc01\it$\wpkg\packages.xml file:///\\ahc01\it$\wpkg\packages.xml 2008-10-13 13:26:42, DEBUG : Trying to read XML files from directory: \\ahc01\it$\wpkg\packages file:///\\ahc01\it$\wpkg\packages 2008-10-13 13:26:43, DEBUG : Reading XML file: //ahc01/it$/wpkg/packages/dialpad.xml Packages loaded OK. 2008-10-13 13:26:43, DEBUG : Profiles applying to the current host:|dialpad| OK. The dialpad profile seems to apply to the current host. 2008-10-13 13:26:44, DEBUG : Reading settings file: C:\WINDOWS\system32\wpkg.xml 2008-10-13 13:26:44, DEBUG : Trying to read XML file: C:\WINDOWS\system32\wpkg.xml 2008-10-13 13:26:45, DEBUG : Successfully loaded XML file: C:\WINDOWS\system32\wpkg.xml Local settings is most probably empty - this is OK too. 2008-10-13 13:26:46, DEBUG : Hosts file contains 3 hosts:|awws66|awws66|awws66 Strange - it seems that your host definition contains three times the same host. Let's verify that later. 2008-10-13 13:26:47, DEBUG : Settings file contains 0 packages: As indicated above. The local wpkg.xml file is empty. This is OK at current state. 2008-10-13 13:26:47, DEBUG : Packages file contains 1 packages:|dialpad OK. One package defined. 2008-10-13 13:26:48, DEBUG : Profile file contains 1 profiles:|dialpad OK. One profile defined. 2008-10-13 13:26:48, DEBUG : Using profile(s):|dialpad| OK. Profile 'dialpad' will be applied. 2008-10-13 13:26:49, DEBUG : Getting profiles which apply to this node. 2008-10-13 13:26:49, DEBUG : Applying profile: dialpad OK. 'dialpad' applies to the profile. 2008-10-13 13:26:50, DEBUG : No more dependencies for profile 'dialpad' Profile 'dialpad' does not have any more (profile-)dependencies. This is OK. 2008-10-13 13:26:50, DEBUG : Synchronizing: Number of packages referenced by profile: 0 No packages referenced by profile. This seems to be your problem. Your 'dialpad' profile does not reference any packages. 2008-10-13 13:26:51, DEBUG : Number of packages to remove: 0 Of course nothing to be removed. 2008-10-13 13:26:52, DEBUG : Saving sorted settings to 'C:\WINDOWS\system32\wpkg.xml'. Process done. Writing (empty) wpkg.xml. **Dialpad.xml (packages.xml is exact same as this) Well, is the following content part of packages.xml or dialpad.xml? You should not duplicate
Re: [wpkg-users] Uninstall element vs Implied Uninstall.
Hi, [EMAIL PROTECTED] wrote: Hi Folks, I appreciate this would be a massive behaviour change for WPKG but it could probably be designed to be settable via command line or config.xml as a switchable behaviour. Let's analyze the request. Seeing as WPKG already scans the registry for Uninstall keys to make checks, would it not make sense to assume that they are used if an uninstall element isn't supplied? They are most likely to contain command lines for uninstalls. WPKG is designed to handle various types of packages. Lots of packages are not even verified using the uninstall type check. However you're right that in case (and just in this case) there is an uninstall check specified WPKG might eventually read these information from there. Unfortunately there are a few problems here: 1. As already mentioned not all packages are using uninstall checks and therefore WPKG does not know to which uninstall entry it should refer to. 2. In some cases I even use uninstall checks when the package is not directly related to the uninstall entry I am referring to. For example I use QuickTime Alternative. I defined two uninstall checks for Quicktime Alternative and Quicktime (the original one), both checks used within an OR logical-connection. So if a user has the real quicktime installed, this yields true for my quicktime package. In such case WPKG could not know which package (the package refers to two uninstall entries) should actually be removed. As a result I think WPKG should never use the information provided in checks. Instead the package definition could probably be enhanced to provide an attribute to specify the associated uninstall entry. 3. Given the case described in (2) above there is a further problem that future WPKG versions will support wildcard/regex matches within the uninstall string matching. In such case the reference to the uninstall entry might match multiple entries. So WPKG would have to try removing all of them which could also lead to unexpected/surprising results. 4. This is a very important point. I think the usage of such automatic uninstall string detection will be very very limited. The uninstall entry within the registry sometimes provides an UninstallString string. However it is usually NOT silent - which means it is useless for WPKG. In some rare (unfortunately very rare) cases there is a value for QuietUninstallString too. This command usually uninstalls the program silently. Unfortunately I already discovered some applications where even the QuietUninstallString is not silent. So anyway an administrator will have to verify the contents very carefully. 5. Some administrators (including me) are using packages where the uninstall command is not defined within the package definition on purpose. I do this sometimes because it makes no sense to remove the package later on. Even if I remove it from WPKG. So I just leave it on the system. Of course in such case one might omit the reference to the uninstall information as proposed in (2). It would certainly simplify package definitions. See above. In most cases it will not be possible to read proper uninstall information from the registry as almost no program provides correct silent uninstall commands. However I discovered that some uninstall commands (as found within the UninstallString string within the registry) can be made silent when adding some parameters. Windows installer packages (msiexec) usually work silently if /qn is added. NSIS installers usually provide an uninstaller helper exe file stored within the install directory which can be called using the /S switch. But this does not always make them to work silent. So probably an implementation could look as follows: - WPKG checks if uninstall commands are provided. If yes, then it executes them and exits. If not, read on... - WPKG reads the optional attribute which specifies the associated uninstall entry. - WPKG looks up the QuietUninstallString entry and executes it. - If no QuietUninstallString is available WPKG stops to execute any further commands unless one more attribute like uninstallSilentSwitch=/qn is defined within the package definition. If it is specified, then it reads the UninstallString string (non-silent) and adds the parameter as specified within the uninstallSilentSwitch. Hopefully this initiates a really silent uninstall. In general I have the feeling that this could be useful for a very very limited amount of packages. But nevertheless I think in some exotic cases it could be useful. Adobe Reader could be one of them I think as it uses an MSI uninstall string as follows: UninstallString=MsiExec.exe /I{AC76BA86-7AD7-1033-7B44-A901} Unfortunately the UID used changes on each release. So an administrator would have to update it each time. Given the proposal above an administrator could omit the uninstall string, define Adobe Reader.* as the uninstall entry reference and a uninstallSilentSwitch=/qn switch. So on
Re: [wpkg-users] Silent install of Client
Hi, Forsmari wrote: In my testlab i have a xp-ws with the client manually installed. I have a AD-Server with a share containing all thingys used by the client. When i run the client it installs perfectly.. check and update .. like a dream.. But only one application so far So you're able to deploy one application already - by manually executing wpkg.js on the share using an administrator user I think. How can i get the client out to my xp-ws.. I´m running as secure as i can. That means the users are only domain users and can not install it. Well, either an administrator user has to install WPKG client on the client or you might automatically install it during machine setup (I use cmdlines.txt method for automatic installation of WPKG client during Windows setup). As you're running an AD you might use group policies too in order to deploy WPKG client using its MSI installer. I have tried the msiexec /qb /i WPKGSetup.msi SETTINGSFILE=\\0.1.2.3\deploy\settings\settings.xml ALLUSERS=1 but it stops with error cant update allusers and all other tests with runas is just giving me a bad syntax slap-in-the-face From where did you run it? You need to run this command on the client using an administrator user. As it is a software installation you will not be able to install WPKG client without administrator privileges. It was mentioned somewhere about a variable called allusers.. but i just cant get some sense out of it. Don't know about it - the command above looks OK to install WPKG client. But you need to run it as an administrator. The solution preferred is in the loginscript.. You cannot install software using the logon script of a normal non-administrator user as the user does not have permissions to install software. WPKG client is used to run wpkg.js in the background as a service. It does not use the logon script at all. The service runs on Windows startup by default and it invokes wpkg.js using SYSTEM privileges. This allows to deploy software and it is completely independent from the logon script (which runs with user-privileges). br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] wpkg and firewalls/scanners....
Hi Kevin, Kevin Landers wrote: I have just started playing with wpkg. I have created a samba share and loaded 7zip via the client. So far, I am impressed and pleased. Pleased to hear about. I am curious as to how wpkg deals with firewalls and other programs that are installed to protect against installation of spyware. For example, I could foresee a huge issue with firewall software such as Comodo Firewall with Defense+ running. WPKG does not deal in any way with Antivirus or Firewall programs. Instead it's the other way around. Firewalls and Antivirus have to deal with WPKG. WPKG Client is running as a background service using SYSTEM privileges. Therefore when it runs any command (like the remote wpkg.js script) it will be run with SYSTEM privileges as well. Up to now I have not seen any Firewall/HIPS system which somehow intercepts calls done by services or other programs running with SYSTEM privileges. I think most (all) of these tools are there to prevent the user from doing mistakes. So if you run wpkg.js manually using a local account with administrator privileges, then it might ask some questions. But usually services are allowed to proceed. Regarding Firewalls it is just needed for WPKG Client to access the package share (SMB/CIFS share). It is very unlikely that an administrator within a corporate environment blocks SMB/CIFS traffic on clients since they would also not be able to use any kind of Windows file sharing. If you're using WPKG web (yet unsupported) then you might need to allow access to HTTP ports (port 80) from your client to the WPKG web service too. However this is entirely optional. Personally I am fine with the Windows built-in firewall and any Antivirus program (successfully used Avira AntiVir free/pro, MCAfee and NAV). Using one of this Internet Security suites might cause some problems as some of them are for home-use and do not care about file sharing access and the likely. However always when I see such a bloatware package I tend to uninstall it immediately in favor of the Windows firewall and a lightweight Antivirus tool. I rather prefer to do some extensive filtering and scanning on servers instead of trying to secure all clients too much (which usually also has some usability drawbacks to the users). In a normal installation of software by a user, Comodo Firewall has to be set to treat the installer as an actual installer and prompts the user for permission to do so. I don't know this Comodo Firewall in detail but it might be some kind of custom UAC or HIPS system. Well, this usually does not affect the SYSTEM account which is used by WPKG client. So if you run wpkg.js manually on the client (using any interactive account with administrator privileges) then Comodo might pop up a prompt for each installer wpkg.js is executing. However I assume that this will not be the case if WPKG client running with SYSTEM privileges runs wpkg.js in the background (non-interactive). How does wpkg handle such things? See above. Do people have problems with firewalls/virus scanners/etc when using wpkg to deploy remote installs? As I wrote above I never had issues with that. WPKG only uses very very basic technology like SMB/CIFS access which is usually allowed within the local network by all firewalls. It would be a very bad idea for any administrator to disable these protocols. Thanks for a great program. I look forward to hearing from the masses and learning more about this wonderful solution. Great to hear some success stories :-) br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Installs from start to finish....
Hi Kevin, Kevin Landers wrote: Can wpkg completely take a computer from fresh install to fully loaded? Well, not directly let's say. WPKG cannot deploy Windows itself as it is based on the principle to run on a finished Windows (base)-Installation. But WPKG can help you to create a full automated installation of your clients. Read on. For example, in our office we have an automated Windows XP installation CD that we pop in and when finished it gives us a pristine install without prompting for anything. That's great. I also prepared some fully unattended CDs. Recently I moved to RIS (or RIS-Linux) to install the clients over the network. So either installing with RIS or using an unattended CD prepares a machine with a basic installation. So the only thing you have to do is to install WPKG client with an appropriate configuration after setup has finished. Personally I use cmdlines.txt method to enhance Windows setup. Commands listed within cmdlines.txt are run at T-13 during Windows setup. Here I just call a batch file which is inserting the WPKG client installation (along with a delayed reboot command) to the RunOnce registry key. So after rebooting the machine after setup (fully automatic) Windows will log on using an administrator account (one-time logon is enabled), then it installs WPKG client as specified by the RunOnce key and reboots the machine after ~30 seconds (another RunOnce entry). On next start WPKG starts to synchronize the software (wpkg.js /synchronize). The profile can either be hard-coded within the WPKG client configuration or (my preference) evaluated by hostname (see WINNT.SIF documentation on how to automatically generate hostnames which have a defined prefix). So WPKG automatically installs all software on the client while doing reboots as required (a package which needs reboot can indicate this within the package configuration). So after a few reboots (depending on your applications) your machine is ready to be used. Then you can ship it to your clients. Unless you uninstall WPKG client on the workstation it will continue to synchronize the software on each startup. As a result you might just update the package definitions on the server and all clients with access to the package share keep up-to-date automatically. I am curious as to whether or not wpkg could then be set to install, run and install each application needed on that machine in turn. I would imagine there would be a need for reboots. There would be multiple applications such as office suite, virus scanner, firewalls, etc. See above. And with this in mind, how does wpkg handle GUI installers that do not have a CLI method of install? WPKG does not directly handle GUI installers. The installer (any executable) needs to install the application silently. Almost all applications I know are supporting such a method (NSIS installer use /S switch, msi packages can use the /qn switch etc.). Applications which are not supporting any silent installation (like the current Azureus Vuze installer) need to be re-packed. Personally I usually crate a 7-Zip SFX archive of the installation directory, then put it onto a share and let WPKG just unpack that SFX archive to the %ProgramFiles% directory again. In some cases you just need to to some post-installation actions like creating icons or registering DLLs afterwards. All this can be done silently using batch scripts. Again, this needs to be done only in very rare cases as most installers are able to run silently. One of the main advantages of WPKG is that it is able to run any executable with any number of parameters (so it's not limited to MSI package deployment only). So feel free to share your experiences with specific programs on http://www.wpkg.org/. br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] Question about system account
Hi Kevin, Kevin Landers wrote: I must say there was a lot of great information there that I never knew. Perhaps a suggestion to move this to the documentation wiki? Not certain how open the wiki is to public editing. Thanks Rainer. Thanks. Sounds like a good idea to add it somewhere on the wiki indeed. Unfortunately I really have some problems currently to find time for documentation. The wiki is open to everybody, so feel free to add whatever you like. Also feel free to copy or quote anything you like. I just added a generic solution for Java 6 Update 10 released today (http://wpkg.org/Java#Java_6_.28JRE.2FSDK.29.2C_generic_solution). br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users
Re: [wpkg-users] CDBurnerXPPro
Hi Brian, Brian May wrote: Hello, I have noticed a problem with the CDBurnerXPPro rules on Vista: ... The problem is the dotnet20 dependency (required on Windows XP): Yes, it depends on .NET framework but on Vista you do not need to install it. That's why my .NET framework WPKG package looks as follows: ?xml version=1.0 encoding=utf-8 ? packages package id='DOTNET' name='.NET Runtime' revision='20' priority='50' reboot='false' !-- Microsoft .NET Framework Runtime -- check type='logical' condition='or' check type='file' condition='exists' path='%SYSTEMROOT%\Microsoft.NET\Framework\netfxsbs12.hkf' / check type='uninstall' condition='exists' path='Microsoft .NET Framework 2.0' / /check install cmd='%SOFTWARE%\software.free\DotNet Runtime v.2.0\unattended.cmd' exit code='194' reboot='true' / exit code='1603' / exit code='3010' reboot='true' / /install upgrade cmd='%SOFTWARE%\software.free\DotNet Runtime v.2.0\unattended.cmd' exit code='194' reboot='true' / exit code='1603' / exit code='3010' reboot='true' / /upgrade /package /packages unattended.cmd is simply: @echo off echo Installing .NET framework set INSTALL_LOC=%~dp0 start /wait DOTNET %INSTALL_LOC%dotnetfx.exe /q:a /c:install /q The WPKG package will check if %SYSTEMROOT%\Microsoft.NET\Framework\netfxsbs12.hkf exists (which yields true on Vista basic installation). Therefore the package is assumed to be installed by WPKG even if no installer has been run. This works fine for me on XP and Vista. br, Rainer - wpkg-users mailing list archives http://lists.wpkg.org/pipermail/wpkg-users/ ___ wpkg-users mailing list wpkg-users@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/wpkg-users