ZfD 3.x Application Management Tool Kit
Novell Cool Solutions: Feature
Digg This -
Posted: 15 Aug 2001
Version: ZENworks for Desktops 3, ZfD 3.2
By popular demand, here is an updated version of the terrific NAL Toolkit which has long been an essential part of every ZENworks administrator's bag of tricks. It will even work with the brand-new ZENworks for Desktops 3.2, releasing today. The files provided in this Toolkit have been created to provide solutions for real world problems faced by Novell's customers. They are provided free of charge and are not supported by Novell or Novell Consulting. Use these tools at your own risk.
While we do not support these tools, we are interested in feedback you may have. Please e-mail firstname.lastname@example.org with Toolkit in the subject line.
- All tools in this Toolkit are Win32 applications.
- All require Novell's NetWare Client to be properly installed.
- Many require access to ZENAPP32.DLL that ships with ZENworks. Typically this file will be in SYS:PUBLIC.
- AOTFDEF -- Application Object Template File name processor utility
- AOTSPLIT - Splits an AOT file into the user-specific and workstation-specific portions
- AOTXPORT -- An AOT/AXT conversion utility
- APPASSOC - An application association utility
- APPCREAT -- An application object creation utility
- APPERASE -- Application Object Deletion Utility
- AppMacro -- Application Object Macro utility
- APPXPORT -- An application export utility
- GUIDSYNC -- Synchronize GUIDs Utility
- LCXPORT -- Launcher Configuration Export utility
- NALRUN32 and NALRUNW -- Application launching utilities
AOTFDEF is used to validate and convert file names within the AOT file. AOTFDEF may not be used with MSI type applications.
AOTFDEF aotFilename [options...]
aotFilename -- full name of an AOT file.
/FIL2TRUE -- Renames all files to be the true file name. This option will update the AOT as well as the files listed in the source location. If there are duplicate files in the AOT, they must first be removed using the /RD option before the renaming can be done.
/TRUE2FIL -- Renames all files to be a ###.FIL name. This option will update the AOT as well as he files listed in the source location.
/V -- Verifies the file existence.
/RD -- Removed duplicate files. AOT files created using older versions of snAppShot, could have the same file name. A duplicate file is a situation where two or more .FILs are being copied to the same location. This option will remove the entries from the AOT file as well as remove the duplicate files from the source location.
/REGEN -- Regenerate the FILEDEF.TXT. Given an AOT file, this option will re-create the FILEDEF.TXT file.
/N### -- Set starting number for ###.FIL files. This option is only used in conjunction with the /TRUE2FIL option. This sets the starting number used when naming the files to the ###.FIL name. By default this is 1.
AOTFDEF Netscape.aot /regen
This will regenerate the FILEDEF.TXT file for the Netscape.aot file.
AOTFDEF Office97.aot /v /fil2true /regen
This will verify the existence of all files, rename .FIL files to their true file name, and regenerate the FILEDEF.TXT.
AOTFDEF Suite99.aot /rd /v /regen
This will remove duplicates, verify the existence of the files and regenerate the FILEDEF.TXT file.
Splits an application object template (AOT) file into the user specific and workstation specific portions. Useful when distributing an application in two stages. AotSplit does not work with .MSI applications.
aotFileName -- name of AOT file to split.
Output is two AOT files, one with _u (user) and the other with _w (workstation) appended to the end of the file name.
would create netscape_u.aot and netscape_w.aot
AOTXPORT will convert an AOT file to an AXT file and back.
AOT stands for application object template. AOT files are binary.
AXT stands for application object text template file. AXT files are text.
AOTXPORT [importFilename] [exportFilename]
importFilename -- Name of file to convert from.
ExportFilename -- Name of output file
If neither are specified, a prompt to select a file will be displayed. If only the importFilename is specified, the exportFilename will automatically be generated with the opposite extension. For example, AOTXPORT app1.aot would generate app1.axt.
APPASSOC will associate an application object with a user, group, or container. It will also set the association flags as requested.
APPASSOC treename applicationObject associationObject [Flags...]
treename -- name of tree
applicationObject -- DS name of application object. Unless you include the full name with a leading period, the name must be relative to the default context.
AssociationObject -- DS name of the object to associate the application object with. The association object will be a user, group, organization, organizational unit, or a country object. Unless you include the full name with a leading period, the name must be relative to the default context.
Flags -- The flags are used to set which options you want enabled on the association. There must be at least one flag specified. The valid values are:
- Workstation -- used when associating application to workstation, workstation group, or container for workstations in that container.
APPCREAT can create an application object from an application object template (AOT) file. If you have an AXT file, use AOTXPORT to convert it to an AOT file then use APPCREAT.
APPCREAT treename object AOTpath [sourcepath] [targetpath]
treename -- name of tree
object -- DS name of application object to create. Unless you include the full name with a leading period, the name must be relative to the default context.
AOTpath -- full path and name of AOT file.
sourcepath -- value to be used for the SOURCE_PATH macro. If not specified, the value already in the AOT file will be used.
targetpath -- value to be used for the TARGET_PATH macro. If not specified, the value already in the AOT file will be used. Must have a source path specified in order to specify a target path.
APPERASE will erase the application object specified.
APPERASE treename objectname
treename -- name of tree
objectname -- name of application object to delete.
Use this utility to view and manipulate macros in an application object.
APPMACRO /Dump <TreeName> <ObjectName
Prints a list of the macros defined in the application object specified.
APPMACRO /Import <TreeName> <ObjectName> <FileName>
Copies the contents of the file specified into the macros stream in the application object specified.
APPMACRO /Export <TreeName> <ObjectName> <FileName>
Copies the contents of the application object macros stream into the file specified.
APPMACRO /Set <TreeName> <ObjectName> <MacroName> <MacroValue>
Adds or replaces if it already exists a macro in the object specified.
APPMACRO /SetPromptedDrive <TreeName> <ObjectName> <MacroName> <MacroValue> <PromptText> <DiskSpace>
Adds or replaces if it already exists a prompted drive macro in the object specified.
APPMACRO /SetPromptedString <TreeName> <ObjectName> <MacroName> <MacroValue> <PromptText> <DiskSpace> <StringLength>
Adds or replaces if it already exists a prompted string macro in the object specified.
APPMACRO /Delete <TreeName> <ObjectName> <MacroName>
Removes macro specified from the application object specified.
Command-line Option Definitions
- TreeName -- Name of an NDS tree
- ObjectName -- Name of an application object. Typically this would be the fully qualified DS name of the object with a leading period (.)
- FileName -- Name of a file to read or write to.
- MacroName -- Name of the macro to manipulate. Cannot exceed X characters in length.
- MacroValue -- Macro value to use. If it is a prompted macro, this is the default value for the macro.
- PromptText -- Text to use when prompting the user for the macro value.
- DiskSpace -- Number of megabytes (MB) to require free on the drive reference by the macro value. Zero means no disk space requirements.
- StringLength -- Maximum number of characters (minus one) that the macro value can be.
APPXPORT can be used to export an application object to an AOT file.
APPXPORT treename objectname filepath
treename -- name of tree application object is in
objectname -- name of application object
filepath -- path and file name of AOT file to create
This utility will synchronize the application object GUID and version number across multiple application objects. The version stamp is ignored.
GUIDSYNC treeName applicationObject syncObject1 [syncObject2...]
treeName -- name of the tree
applicationObject -- DS name of application object. The GUID and version number will be read from this object and set on the following objects. Unless you include the full name with a leading period, the name must be relative to the default context.
syncObject1 -- DS name of application object. The GUID and version number of this object will be overwritten with the GUID and version stamp read from the first object.
syncObject2 -- DS object names continuing for as many as wanted. All subsequent object names starting with syncObject2 will have their GUID and version numbers overwritten as in syncObject1.
LCXPORT is useful when duplicating launcher configuration settings between multiple containers. It can also be used to copy any stream in NDS from file to object, object to file, or object to object directly.
LCXPORT /Tree=<TreeName> /Object=<ObjectName> /Object=<ObjectName>
Copies Launcher Configuration from the first object to the second object.
LCXPORT /Tree=<TreeName> /Object=<ObjectName> /File=<FileName>
Copies Launcher Configuration from the object to the file specified.
LCXPORT /File=<FileName> Tree=<TreeName> /Object=<ObjectName> Copies Launcher Configuration from the file to the object specified.
LCXPORT /File=<FileName> /File=<FileName>
Copies Launcher Configuration from the file to the file specified.
LCXPORT /Tree=<TreeName> /Object=<ObjectName>
Prints the contents of the launcher configuration of the object specified.
Prints the contents of the file specified.
/Attribute=<AttributeName> -- Specify which attribute to use.
Default value is "App:Launcher Config"
NALRUN32 is a Win32 console application. Excellent for use from batch files. When run, a console window will open momentarily until NALRUN32 is finished.
NALRUNW is a Win32 Windows application. Excellent for use as a shortcut.
NALRUN32 treeName objectName [/F] [/I] [/V] [/W] [/P=Params]
NALRUNW treeName objectName [/F] [/I] [/V] [/W] [/P=Params]
treeName -- name of the tree the application object is in.
objectName -- DS name of the application object. Usually, you will want to specify the full DS name with a leading period.
/F -- Filter application, check system requirements before launching.
/I -- Install the application but do not launch. Equivalent to Pre-install.
/P=Params -- (optional) Pass these parameters to the application. Params is the command-line parameters to pass. Enclose Params in quotes if it includes spaces.
/V -- (optional) Verify the distribution and run the application.
/W -- (optional) Wait for application to terminate before continuing.
This application is useful for pre-launch scripts where you want several application to be launched/distributed in a specific order.
If the application fails to launch, NALRUN will return an errorlevel.
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com