Tomasz Chmielewski wrote:
sbotsford wrote:

I'm flummoxed.

On one group of hosts wpkg works. On another, it doesn't, and I get the following message:

Using Profile: Inspiron
profile: Inspiron     profileNode:
Object doesn't support this method or property


command line:
cscript wpkg.js /synchronize /debug

Inspiron is defined in hosts.xml

I don't know what it means, but it would be interesting to find out.
Google gives a couple of answers when you search for "Object doesn't support this method or property", but mostly it deals with JScript used for web pages.

1) Could you send me your profiles.xml, hosts.xml and packages.xml?

Added as attachments
2) What version of WPKG do you use? Could you try the latest testing (0.9.8-test2)?

This is the first thing I tried. Identical behaviour. Scripten is version 5.6 from the link on the wpkg web page.

3) do you still get this error when you use same profile + packages, but for a different host?


No. If I run wpkg for the classes of machines lab* it does what I expect. (Not all of what I want, yet, but it works and installs the 3-4 packages I've got working properly.)

From your message this is something being spewed out by cscript, and not by wpkg itself. This by itself is helpful. Are there alternate js interpreters that give better debugging info?

***

My next step will be to remove the packages from that profile. See if I can narrow it down. I'm betting on a stupid syntax error in my xml files.

***
On debugging. dviPS, part of the TeX distribution has one of the best debugging interfaces I've run into. With it you gave debug what amounted to a bit field.
debug = 1       Specials        
debug = 2       paths
debug = 4       fonts
debug = 8       pages
... and so on.
Summing them up allowed you to pick combinations.

Suppose on wpkg it was something like:
debug = 1       XML parsing  (Show parse tree?)
debug = 2 Consistency checking. (Prints out if host file contains profiles that aren't in profiles, if profiles reference packages that aren't in packages. debug = 4 Detailed package checking. (Verifies the existence of paths, and commands) debug = 8 Print the command about to be executed, wait for keypress, print exit status.
debug = 16      Put the interpreter into some form of debug mode

Now, I haven't the experience with either XML, JS, or winsnooze to say if any these are good ideas. Maybe they will spark your ideas.
<?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="lab-1*" profile-id="lab" />
    <host name="lt-*"   profile-id="laptop" />
    <host name="bandersnatch"   profile-id="Inspiron" />
    <host name="jabberwocky"   profile-id="jabberwocky" />

<!-- This one will match all hosts that were not matched before.
     For more info on regexp matching, see the documentation on http://wpkg.org/index.php/Regular_expression_support -->

    <host name=".+" profile-id="common" />

</wpkg>
<?xml version="1.0" encoding="UTF-8"?>

<!-- Available package database.

     This is a list of all packages that can be deployed to workstations.
     
     Each package has the following attributes:
     
        id          A unique identifier representing the package. Should be
                    short and to the point.
                
        name        Longer textual description of the package. This should be
                    the full product name.
                
        revision    User created integer to represent the "version" of the
                    specific package. Should be incremented when creating a new
                    release.
                    
        reboot      If "true" system reboots when done installing, removing or
                    upgrading the package.
                    
        priority    Specifies a numeric value that determines in what order a
                    package will be installed.
                    
    The following additional elements can or must be included within a package:
    
        depends     Specifies that this package depends on another package and
                    optionally version. Either that package must be installed or
                    must be installable.
    
        install     Contains command(s) to be run when the package is to be
                    installed.
                    
        remove      Contains command(s) to be run when the package is to be
                    removed.
                    
        upgrade     Contains commands(s) to be run when the package is already
                    installed, but the new revision number is greater than the
                    old revision number.
                    
        env         Sets an environmental variable to the specified value.
                    
    THIS IS A SAMPLE FILE
    
    For more info, see http://wpkg.org/index.php/Category:Documentation


TEMPLATE:  Cut & paste in appropriate section.

<package
	id="XXX"
	name="XXX"
        revision="XXX1"
	reboot="XXXfalse"
	priority="XXX0" >            
        <check 
		type="registry" 
		condition="exists" 
		path="HKLM\Software\wpkg\full\key\not\part\of\it" />
        <check 
		type="file" 
		condition="exists" 
		path="C:\wpkg\wpkg.bat" />
	<check 
		type="uninstall" 
		condition="exists" 
		path="WPKG 0.6-test1" />
	<install 
		cmd='msiexec /i (path to msi)'>
            <exit code="0" />
        </install>
        <remove  cmd='msiexec /x (path to msi)' />
        <upgrade cmd='msiexec /i (path to msi)' />
    </package>
        
-->

<packages>
	<package
		id="changename"
		name="Run computer name check"
		revision="1"
		reboot="true"
		priority="0" >            
		<install 
			cmd='perl startup'>
		    <exit code="0" />
		</install>
		<remove  cmd='msiexec /x (path to msi)' />
		<upgrade cmd='msiexec /i (path to msi)' />
	    </package>
		<package
			id="W2K-SP4"
			name="Windows 2000 service pack 4"
			revision="4"
			reboot="true"
			priority="100" >            
			<check 
				type="uninstall" 
				condition="exists" 
				path="Windows 2000 SP 4" />
			<install 
				cmd='msiexec /i /qb %WPKG%/MicroSoft/W2KSP4_EN.EXE)'>
			    <exit code="0" />
			</install>
			<remove  cmd='msiexec /x (path to msi)' />
			<upgrade cmd='msiexec /i (path to msi)' />
		</package>

<package
	id="K9"
	name="NTP Time Synchronization Client"
        revision="1"
	reboot="false"
	priority="0" >            
        <check 
		type="file" 
		condition="exists" 
		path="%SYSTEMROOT%\system32\k9nt.exe" />
	<install 
		cmd='\\conan\Installers\wpkg\k9-install.bat'>
            <exit code="0" />
        </install>
        <remove  
		cmd='\\conan\Installers\wpkg\k9-remove.bat' />
</package>


<package
	id="INSP1300Chipset"
	name="Inspiron Chipset Package"
        revision="1"
	reboot="false"
	priority="100" >            
	<install 
		cmd='%HDWRINSP%/ChipSet/install.bat ' />
    </package>

<package
	id="INSP1300Audio"
	name="Inspiron Audio Drivers"
        revision="1"
	reboot="false"
	priority="0" >            
	<check 
		type="uninstall" 
		condition="exists" 
		path="SigmaTel Audio" />
	<install cmd='%HDWRINSP%/Audio/install'/>
    </package>

<package
	id="INSP1300Video"
	name="Inspiron Video Drivers"
        revision="1"
	reboot="false"
	priority="0" >            
	<check 
		type="uninstall" 
		condition="exists" 
		path="Intel(R) Graphics Media Accelerator Driver for Mobile" />
	<install cmd='%HDWRINSP%/Audio/install'/>
    </package>

<package
	id="INSP1300Wireless"
	name="Inspiron Wireless Drivers"
        revision="1"
	reboot="false"
	priority="0" >            
	<check 
		type="uninstall" 
		condition="exists" 
		path="Intel(R) Graphics Media Accelerator Driver for Mobile" />
	<install cmd='%HDWRINSP%/Network-Wirelss/install.bat'/>
    </package>


<package
	id="msoffice-XP"
	name="Microsoft Office XP"
	revision="1"
	reboot="true"
	priority="0">
	<check 
		type="uninstall" condition="exists" 
		path="Microsoft Office Professional Edition XP" />

	<install 
		cmd='msiexec /i "%INST%\OfficeXP\PRO.MSI" /q allusers=1 ADDLOCAL=ALL'>
		<exit code="0" />
	</install>
	<remove cmd='MsiExec.exe /q /x{90110407-6000-11D3-8CFE-0150048383C9}' />
	<upgrade cmd="" />
</package>


 
</packages>
<?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>

<!-- Describe package groups -->
	<!-- Package Category 1 Hardware specific profiles -->
	<profile id="Inspiron" >
		<package package-id="INSP1300Chipset" />
		<package package-id="INSP1300Audio" />
		<package package-id="INSP1300Wireless" />
	</profile>

	<!-- Package Category 2 Application Groups -->
	<profile id="netapps" >
		<package package-id="thunderbird" />	
		<package package-id="firefox" />	
		<package package-id="opera" />	
		<package paakage-id="flash" />
		<package paakage-id="shockwave" />
		<package paakage-id="javaruntime" />
	</profile>

	<profile id="photo" >
		<package package-id="photoshop" />	
		<package package-id="nikonview" />	
	</profile>

	<profile id="words" >
		<package package-id="MSOffice" />	
		<package package-id="MathEdit" />
		<package package-id="AcrobatRdr" />	
	</profile>

 	<profile id="remadm" >
		<package package-id="K9" />	
		<package package-id="VNC" />	
		<package package-id="Cygwin" />	
	</profile>

 	<profile id="TLE" >
		<package package-id="TLE7"  />	
		<package package-id="TLE8"  />	
		<package package-id="TLE9"  />	
		<package package-id="TLE10" />	
		<package package-id="TLE11" />	
	</profile>

	<!-- Package Category 3  Computer groups. -->

	<!-- This one renames the computer according to it's IP address -->
	<profile id="jabberwocky" >
		<package package-id="jabberwocky" />
	</profile>
		
    <profile id="common">
	<depends profile-id="netapps" />
	<depends profile-id="photo"   />
	<depends profile-id="words"   />
	<depends profile-id="remadm"/>
    </profile>
  
<!--  assign packages groups to machine groups -->

    <profile id="lab">
        <depends profile-id="common" />
        <package package-id="TLE" />
    </profile>

    <profile id="staff">
        <depends profile-id="common" />
        <package package-id="renweb" />
	<package package-id="eqnedit" />
    </profile>
	
    <profile id="staff-lap">
        <depends profile-id="staff" />
	<package package-id="smartboard" />
    </profile>

    <profile id="student-lap">
        <depends profile-id="common" />
    </profile>

</profiles>

Reply via email to