[wpkg-users] getting started
I am having no luck and not sure what I am missing. I am trying for now to get one program pushed out to our clients. Do I need to make changes to wpkg.js initially to get this to work? Any help is greatly appreciated. I ran a debug which gave me the following. 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:27, DEBUG : Reboot-Cmd is standard. 2008-10-13 13:26:37, DEBUG : WPKG 1.0.2 starting... 2008-10-13 13:26:37, DEBUG : Base directory is '\\ahc01\it$\wpkg'. 2008-10-13 13:26:38, DEBUG : Log level is 255 2008-10-13 13:26:38, DEBUG : Trying to read XML file: \\ahc01\it$\wpkg\profiles.xmlfile:///\\ahc01\it$\wpkg\profiles.xml 2008-10-13 13:26:38, DEBUG : Successfully loaded XML file: \\ahc01\it$\wpkg\profiles.xmlfile:///\\ahc01\it$\wpkg\profiles.xml 2008-10-13 13:26:38, DEBUG : Trying to read XML files from directory: \\ahc01\it$\wpkg\profilesfile:///\\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 2008-10-13 13:26:39, DEBUG : Trying to read XML file: \\ahc01\it$\wpkg\hosts.xmlfile:///\\ahc01\it$\wpkg\hosts.xml 2008-10-13 13:26:40, DEBUG : Successfully loaded XML file: \\ahc01\it$\wpkg\hosts.xmlfile:///\\ahc01\it$\wpkg\hosts.xml 2008-10-13 13:26:40, DEBUG : Trying to read XML files from directory: \\ahc01\it$\wpkg\hostsfile:///\\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 2008-10-13 13:26:41, DEBUG : Trying to read XML file: \\ahc01\it$\wpkg\packages.xmlfile:///\\ahc01\it$\wpkg\packages.xml 2008-10-13 13:26:41, DEBUG : Successfully loaded XML file: \\ahc01\it$\wpkg\packages.xmlfile:///\\ahc01\it$\wpkg\packages.xml 2008-10-13 13:26:42, DEBUG : Trying to read XML files from directory: \\ahc01\it$\wpkg\packagesfile:///\\ahc01\it$\wpkg\packages 2008-10-13 13:26:43, DEBUG : Reading XML file: //ahc01/it$/wpkg/packages/dialpad.xml 2008-10-13 13:26:43, DEBUG : Profiles applying to the current host:|dialpad| 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 2008-10-13 13:26:46, DEBUG : Hosts file contains 3 hosts:|awws66|awws66|awws66 2008-10-13 13:26:47, DEBUG : Settings file contains 0 packages: 2008-10-13 13:26:47, DEBUG : Packages file contains 1 packages:|dialpad 2008-10-13 13:26:48, DEBUG : Profile file contains 1 profiles:|dialpad 2008-10-13 13:26:48, DEBUG : Using profile(s):|dialpad| 2008-10-13 13:26:49, DEBUG : Getting profiles which apply to this node. 2008-10-13 13:26:49, DEBUG : Applying profile: dialpad 2008-10-13 13:26:50, DEBUG : No more dependencies for profile 'dialpad' 2008-10-13 13:26:50, DEBUG : Synchronizing: Number of packages referenced by profile: 0 2008-10-13 13:26:51, DEBUG : Number of packages to remove: 0 2008-10-13 13:26:52, DEBUG : Saving sorted settings to 'C:\WINDOWS\system32\wpkg.xml'. 2008-10-13 13:26:52, DEBUG : Saving XML : C:\WINDOWS\system32\wpkg.xml **I placed the setup3.exe in the wpkg folder **I have made no changes to config.xml **For details on the files I have created see below **Dialpad.xml (packages.xml is exact same as this) ?xml version=1.0 encoding=UTF-8? packages package id=dialpad name=SafeSoft Diapad revision=1 reboot=false priority=5 check type=uninstall condition=exists path=Dialpad 1.0 / install cmd='%SOFTWARE%\Mortgage Dialer Client\setup3.exe /VERYSILENT /NORESTART /DIR=%PROGRAMFILES%\SafeSoft Dialpad'/ remove cmd='%PROGRAMFILES%\SafeSoft Dialpad\unins000.exe /VERYSILENT /NORESTART' / /package /packages **Host.xml (made this one machine to just test it ) ?xml version=1.0 encoding=UTF-8? !-- Lists host names and associated profile. This file can be edited directly, or even created automatically depending on your environment. For more info, see http://wpkg.org/index.php/Category:Documentation -- wpkg host name=awws66 profile-id=dialpad / /wpkg **profiles.xml ?xml version=1.0 encoding=UTF-8? !-- System profile database. Lists profiles available to the systems. A profile represents a certain selection of packages from the packages database. Profiles can depend on other profiles, the end result being the sum of all required packages. THIS IS A SAMPLE FILE For more info, see http://wpkg.org/index.php/Category:Documentation -- profiles profile id=dialpad depends profile-id=dialpad / /profile /profiles Kevin McMahan
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] getting started
-Original Message- From: Rainer Meier [mailto:[EMAIL PROTECTED] Sent: Monday, October 13, 2008 2:40 PM To: Kevin McMahan Cc: 'wpkg-users@lists.wpkg.org' Subject: 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'.
[wpkg-users] Uninstall element vs Implied Uninstall.
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. 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. It would certainly simplify package definitions. I know I'm being naïve and missing something here ? Maybe some documented future plans or something but I've trawled through the code and can't see where the keys are used anywhere in the install/uninstall process (in 1.1.0-M6 so I thought I'd mention it). It just seemed like a natural behaviour that might also assist zombie handling. Regards, Keith PS: I might have a few bugs to submit shortly. It's been mad here and I'm way behind all the stuff I'd *like* to do :-) - 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] 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] getting started
On 10/13/08, Kevin McMahan [EMAIL PROTECTED] wrote: Thanks a lot for the quick response! I guess I am still a bit confused on why there is host.xml profile.xml and packages.xml if there are folders which should contain these files as well. I finally got it to work by deleting the *.xml file inside of the packages folder and just using the wpkg\packages.xml file for install instead of duplicating it by also using wpkg\packages\*.xml I also renamed the host, profile and package ids to be a bit more descriptive so that I could figure out what was calling what. Thanks again, -Kevin Regarding the XML files, you can choose to do it one way or the other. On one hand you can put all of your package definitions into a single package.xml, all hosts into one hosts.xml, etc. OR you can separate each package out, each host out, etc. into individual xml files that are placed in the respective folders. I personally use the second method, just because it's a little easier for me to manage as I don't have to go scrolling through an entire xml file to find the package (or host or profile) definition I want to change. This is especially handy when you have a large collection of package/host/profile definitions. I hope that makes more sense. Brian - 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