Novell Home

ZEN 2 Application Management Tool Kit

Novell Cool Solutions: Feature
By Matt Brooks

Digg This - Slashdot This

Posted: 13 Oct 1999
 

You asked for it, you got it. The famous App Launcher Tool Kit has now been updated so it works with ZENworks 2. This thing is packed with nineteen handy (free) tools that will automate and speed many of the application management tasks you will be performing regularly.

Requirements
Disclaimer
Tool list
Tool Details
Examples
Feedback
Download the Tool Kit

Chat About this Article

Wanna talk about this article? The engineers who created the Tool Kit have agreed to answer questions in an ongoing discussion forum we are hosting for a few weeks. So take the toolkit for a spin, and if you have questions, comments, or you run into trouble using one of the tools, post a message and see who bites. Chat About this Article

Requirements for the Application Management Tool Kit

  1. All tools in this Tool Kit are Win32 applications.
  2. All require Novell's NetWare Client to be properly installed.
  3. Many require access to ZENAPP32.DLL that ships with ZENworks. (Typically this file will be in SYS:PUBLIC.)

Application Management Tool Kit Disclaimer

The files provided in this Tool Kit 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.

Tool List

  • AOTFDEF: Validates and converts file names within an AOT file
  • AOTREV: AOT file entry reverse utility (Poor man's Uninstall)
  • AOTSPLIT: Splits an application object template (AOT) file into the user-specific and workstation-specific portions
  • AOTXPORT: Converts an AOT file to an AXT file and back.
  • APPASSOC: Associates an application object with a user, group, or container
  • APPCREAT: Creates an application object from an AOT file
  • APPERASE: Erases a specified application object
  • APPGUID: Adds a GUID Sync Manager option to the Tools menu of NWAdmin32
  • APPMACRO: Lets you view and manipulate macros in an application object
  • APPXPORT: Exports an application object to an AOT file
  • GUIDSYNC: Synchronizes the application object GUID and version stamp across multiple application objects
  • LCXPORT: Duplicates launcher configuration settings between multiple containers
  • NALPURGE: Purges NAL Registry settings and GUID stamps
  • NALRPT: Lets you check the status of application installations on a given workstation
  • NALRUN32 and NALRUNW: Application launching utilities
  • NALSTAMP: Helps you migrate from NAL 2.01 to NAL 2.5
  • TXT2AOT: Converts existing software distribution schemes to ZENworks
  • WSUTIL: Helps you diagnose Workstation Agent related problems
  • ZENSTART: Lets you launch documents and internet addresses

Tool Details


AOTFDEF:

Application Object Template File name processor utility

AOTFDEF is used to validate and convert file names within the AOT file.

Usage:

AOTFDEF aotFilename [options...]

  • aotFilename = full name of an AOT file.

Options include:

  • /FIL2TRUE
    Renames all files to their true file names. 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
    Removes duplicate files. AOT files created using older versions of snAppShot could have the same file name. A duplicate file occurs in the situation where two or more .FILs are being copied to the same location. This option will remove the duplicate 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.

Examples:

  • 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 names, 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.


AOTREV:

AOT file entry reverse utility (Poor man's Uninstall)

This is an App Launcher utility that works with existing .AOT or .AXT files that were created either using the App Launcher snAppShot, or by exporting an existing Application Object. It reads all of the entries in the .AOT file and changes these entries into what can loosely be called reverse entries, and saves them to a new .AOT file.

This is not a true uninstall utility, but with a great deal of testing and understanding of the .AOT file it may be able to be used to remove an application or in an uninstall situation. Be sure to read the Warning, or it could do irreparable harm (that's why it's called a "poor man's uninstall…).

The AOTREV.exe creates as its output a new .AOT file with the three letters "REV" appended to the filename before the .AOT extension. It can also create an AXT version of this reversed file. This utility is a Win32 console application with a few command line options. The options are detailed below.

This is what it does:

  1. All Create AOT entries are changed to Delete entries.
    This is the real meat of this utility. Here is a list of everything it will read, and what it changes them to.

    All these entries:

    Will be changed to:

    File Copies

    File Deletes

    Directory Creates

    Directory Deletes

    Add INI Entry

    Delete INI Entries

    Create Shortcuts

    Delete Shortcuts

    Create Groups

    Delete Groups

    Create Program Manager Icons

    Delete Program Manager Icons

    Create Program Manager Groups

    Delete Program Manager Groups

    Add Text File lines

    Delete Text File lines



    • All Delete File AOT entries are removed from the new .AOT file. (Because the purpose of this tools is to help you create "Removal" type Application objects, we do not see the need to change Delete File AOT entries, to Create File entries.)

    • All Shared File Copy entries are changed to Shared File Delete entries.
      Shared File Copies entries are just like the other file entries and are reversed. The point worth noting is that when NAL handles shared file deletes, it reads the shared registry count for this file and decrements it. If the count reaches zero, the registry key is removed and the file is deleted. If the count is more than 1, the count is decremented and the file is not deleted from the system.

    • All Replace Entries are reversed.
      Replace values in Text files, and INI files are reversed. If the original entry says search for IntraNetware and replace it with NetWare, then the new entry will reverse itself by searching for NetWare and replacing it with IntraNetware.

    • All other AOT entries are passed through unchanged, and added to the new file.

    Command line options

    AOTREV Filename [options...]

    • Filename = Filename of AOT/AXT file to use.

    Options include:

    • /CREATEAXT
      Converts the output .AOT file to an .AXT file.


    And now for the Warning:

    If your application replaces, or updates any files that the operating system is dependent on, then AOTReverse will break your machine. Our testing has shown that most major Windows 9x and NT applications replace some critical system .DLLs when they are installed. So reversing this type of .AOT file will cause these critical .DLLs to be removed and make it so your operating system will no longer function properly. The most notable examples are IE4.0, and Office97. When testing .AOTs for these applications, IE4.0 hosed the machine so it would not even boot and Office97 caused many serious OS errors after the machine did finally boot.

    Installation Instructions:

    This program is dependent on the NAL library ZENAPP32.DLL. ZENworks installs this file into the SYS:\PUBLIC directory on your NetWare Server. So the machine you are using to run AOTReverse must have access to this .DLL. If you want to run this program in a standalone mode (not connected to the network environment) then you will need to copy the ZENAPP32.dll into the directory that you are running AOTREV in.

    This utility is a native Win32 console application and will run anywhere Win32 apps are supported. Very little RAM and disk space are required to run this test tool.

    AOTSPLIT

    Splits an application object template (AOT) file into the user-specific and workstation-specific portions. Useful when distributing an application in two stages.

    Usage:

    AOTSPLIT aotFileName

    • 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.

    Example:

    • AOTSPLIT netscape.aot
      would create netscape_u.aot and netscape_w.aot

    AOTXPORT:

    An AOT <--> AXT conversion utility.

    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.

    Usage:

    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:

    An application association utility

    APPASSOC will associate an application object with a user, group, or container. It will also set the association flags as requested.

    Usage:

    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:
      • ForceRun
      • Launcher
      • StartMenu
      • Desktop
      • SystemTray
      • Workstation – used when associating application to workstation, workstation group, or container for workstations in that container.

    APPCREAT:

    An application object creation utility

    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.

    Usage:

    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:

    Application Object Deletion Utility

    APPERASE will erase the application object specified.

    Usage:

    APPERASE treename objectname

    • treename = name of tree
    • objectname = name of application object to delete

    APPGUID:

    Application GUID Sync Snap-in

    APPGUID is used to add a GUID Sync Manager option to the Tools menu of NWAdmin32.

    Requirements:

    APPGUID.DLL requires NWAdmin32 from ZENworks. It is dependent on ZENAPP32.DLL that came with ZENworks 2.0 or above.

    To install:

    Copy APPGUID.DLL into the Snapins directory below NWAdmin32. Typically this would be SYS:PUBLIC\WIN32\Snapins

    To run:

    1. Run NWAdmin32.
    2. Optionally select one or more application objects that you wish to synchronize GUIDs.
    3. Select the Tools | Application Add-on Tools | Application GUID Manager menu items.
    4. Add any more application objects to the list.
    5. Select the application object whose GUID you wish to use to set on all others in the list.
    6. Press Sync. All other application objects in the list will have their GUID and version stamp set to the one you selected.

    APPMACRO:

    Application Object Macro utility

    Use this utility to view and manipulate macros in an application object.

    Usage:

    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 the specified macro from the specified application object.

    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 60 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) required to be free on the drive referenced by the macro value. Zero means there no disk space requirements.
    • StringLength = Maximum number of characters (minus one) that the macro value can be.

    APPXPORT:

    An application export utility

    APPXPORT can be used to export an application object to an AOT file.

    Usage:

    APPXPORT treename objectname filepath

    • treename = name of the tree that the application object is in
    • objectname = name of the application object
    • filepath = path and filename of the AOT file to create

    GUIDSYNC:

    Synchronize GUIDs Utility

    This utility will synchronize the application object GUID and version stamp across multiple application objects.

    Usage:

    GUIDSYNC treeName applicationObject syncObject1 [syncObject2...]

    • treeName = Name of the tree.
    • applicationObject = DS name of application object. The GUID and version stamp 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 stamp 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 objects as are wanted. All subsequent object names starting with syncObject2 will have their GUID and version stamp overwritten as in syncObject1.

    LCXPORT:

    Launcher Configuration Export utility

    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.

    Usage:

    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.

    LCXPORT /File=<FileName>
    Prints the contents of the file specified.

    Optional parameter:

    /Attribute=<AttributeName> -- Specify which attribute to use.
    Default value is "App:Launcher Config"

    NALPURGE:

    Purges NAL Registry settings and GUID stamps

    This utility is useful when you want to remove some or all of the settings NAL uses in the registry.

    Usage:

    NALPURGE [options...]
    Options can be any combination of the following:

    • /ALLGUIDS -- Same as /USER, /MACHINE, and /USERMACHINE combined together.
    • /DAYS=n -- Specifies the number of days-old (n) the GUID stamp must be before purging. For example, /DAYS=30 means GUID stamps over thirty days old will be purged. The default is 30 days.
    • /USER -- Purges GUID stamps from HKEY_CURRENT_USER.
    • /MACHINE -- Purges machine-specific GUID stamps from HKEY_LOCAL_MACHINE.
    • /USERMACHINE -- Purges user-specific GUID stamps from HKEY_LOCAL_MACHINE.
    • /EXPLORER -- Purges Application Explorer registration settings.
    • /LAUNCHER -- Purges Application Launcher registry settings.
    • /FOLDERS -- Purges Personal Folder registry settings.
    • /NOBACKUP -- Disable backup. Backup is enabled by default. Registry data is backed up to a .REG file before purging.

    Note: At least one option must be specified.

    NALRPT:

    NAL status reporting tool

    This utility is useful when wanting to look at the current status of application installations on a given workstation.

    Usage:

    NALRPT [treename] [/C=OutputFileName] [/F=<FilterOption>]
    Note: If no tree name is specified, all trees currently connected will be scanned.

    • /C=OutputFileName -- File name for CSV reported data.
    • /F=<FilterOption> -- Category to exclude from the report.
      FilterOption can be any of the following:
      • Current = exclude current applications.
      • Outdated = exclude applications out-of-date or never run.
      • Orphaned = exclude applications no longer visible to the user.

    NALRUN32 and NALRUNW:

    Application launching utilities

    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.

    Usage:

    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 applications to be launched/distributed in a specific order. If the application fails to launch, NALRUN will return an errorlevel.

    NALSTAMP:

    Helps you migrate from NAL 2.01 to NAL 2.5

    NALSTAMP is a simple utility that assists in migrating from NAL 2.01 to NAL 2.5 (ZENworks 1.0).

    It prevents the re-processing of the distribution for an application previously distributed through NAL 2.01. NALSTAMP will copy NAL GUID stamps from the HKEY_LOCAL_MACHINE\Software\NetWare \NAL\1.0\Distribute\<TreeName> key to the HKEY_LOCAL_MACHINE\Software\NetWare \NAL\1.0\Distribute\<TreeName>\<UserDN> key.

    NAL 2.5 introduces a new GUID stamp in the registry. This stamp controls the per user -- per machine distribution of files and settings. If this GUID stamp is missing (which it would be when upgrading from NAL 2.01 to 2.5), NAL will read through every distribution file and setting looking for items marked as Distribute per user. While reading through every setting, NAL will display a distribution-processing window. It will appear as though NAL is re-distributing or verifying the install of the application. In reality, the settings are only being displayed; no changes are being made. This makes the processing very fast.

    Running NALSTAMP

    NALSTAMP is a Win32 console application. There are two ways of running it:

    1. As a scheduled action through Workstation Manager
    2. As a force-run application through NAL

    Running as a scheduled action

    You would only run it as a scheduled action if the workstation is a secured Windows NT workstation. Then, in order to modify registry settings in HKEY_LOCAL_MACHINE, you would setup the scheduled action to be run as the system. When doing that, you would need to specify both the tree name and DS user name on the command-line.

    For example: NALSTAMP ACME_TREE .jdoe.users.dept.corp
    Because it is running as a system process, you need to specify the user name.

    Running as a force-run application

    If you are running NALSTAMP as a force-run application, you only need to specify the tree name. The DS user name will automatically be read and used. It is advisable to set an icon order of 1, so NALSTAMP will be run ahead of all other force-run items.

    For example: NALSTAMP ACME_TREE

    TXT2AOT:

    Prototype of migration tool to help convert non-ZEN software distribution schemes

    Introduction

    Since so many of our customers are converting existing software distribution schemes to ZENworks and the Novell Application Launcher, we are designing a migration tool to help in that conversion. The Novell Application Launcher Distribution File Conversion Utility will provide conversion from existing third-party program definition templates to the Application Object Template (AOT) or Application Object Text (AXT) file formats used to create Application Objects in an NDS tree.

    Currently this conversion utility is in its design and specification phase. This prototype is an attempt to validate the correctness of algorithm design and coverage and to elicit customer feedback.

    Be aware that this is a prototype, and still has limited functionality. No attempt has been made to integrate the conversion utility into the other NAL tools. This early version only supports conversion from Seagate Corporation's WinInstall? version 5.1 DAT file format to NAL AOT/AXT format. No other formats, including other versions from Seagate, are supported in this prototype.

    Usage:

    To use the conversion utility, copy the two files to a convenient place on your hard drive. The only requirements are that you be able to see the executable from within a DOS/NT command box, and that the executable be able to find the supporting DLL file. Placing these two files in a location within the machine's DOS Path would be convenient. No other support files are needed or created. No registry settings, INI file settings, autoexec.bat or config.sys or other system changes need to be made.

    To remove the utility when finished evaluating the prototype, simply delete the executable and the accompanying support DLL. No cleanup of registry or other system files is required.

    To view the various command-line options of the utility, type the executable name without any parameters and press the <Enter> key. The following will be displayed:

    Novell Application Launcher Distribution File Conversion Utility

    Usage:

    txt2aot sourcepath [/x]

    • sourcepath = the filename or filenames to convert
      (standard wildcards may be used)
    • /x = optionally create an AXT text file as well

    Examples:

    • txt2aot *.dat /x
    • txt2aot office.dat
    • txt2aot myapp.dat /x

    Functionality

    This tool will:

    1. Read in a WinInstall .DAT file or list of .DAT files
    2. Convert the settings in the file or files to corresponding NAL Application Object settings
    3. Write out a NAL Application Object Template file (or files: one per .DAT file processed.)

    These files can then be imported using the NWAdmin utility to create Novell Application Objects in your NDS tree.

    Currently the utility handles all DAT file settings that have AOT equivalents. If your favorite setting is not handled or is mishandled, please report it in an e-mail to zwmag@Novell.com.

    This tool currently will NOT:

    • Integrate with the NWAdmin administration utility snapin for NAL (appsnp32.dll)
    • Integrate with the NDS Application Object Creation Wizard
    • Handle any format besides .DAT
    • Copy any files (including application files. These will need to be hand copied into the appropriate source directory.)
    • Unpack or uncompress application files compressed with the WinInstall administration utility.

    Requirements

    Installation

    This program is dependent on the NAL library NWAOT32.DLL. This file is installed by ZENworks into the SYS:\PUBLIC directory on your NetWare Server. So the machine you are using to run TXT2AOT.EXE must have access to this .DLL. If you want to run this program in a standalone mode (not connected to the network environment), then you will need to copy the NWAOT32.DLL into the directory that you are running TXT2AOT in.

    This utility is a native Win32 console application and will run anywhere Win32 apps are supported. Very little RAM and disk space are required to run this test tool.

    WSUTIL:

    Debug Tools for NAL Workstation Agent (ZENAPPWS)

    This utility is useful for diagnosing Workstation Agent related problems.

    Usage:

    WSUTIL [options...]

    Options include:

    • /STOP – Stop the NAL Workstation Agent.
    • /PING – Ping the NAL Workstation Agent to see if it is running.
    • /REFRESH – Refresh the Workstation Agent's associated applications.

    ZENSTART:

    Launching utility that can be used to load documents, particularly internet addresses.

    Inspired by Daniel Stricharz's innovative and popular Appload tool, which is available on the Downloadables page.

    Usage:

    ZENSTART [options...] program [parameters]

    - or-

    ZENSTART [options...] document

    Options:
    /MIN - Launch the program minimized
    /MAX - Launch the program maximized
    /W - Wait for the program to finish running before returning. Will not wait if the program being launched is just loading an already loaded program like explorer.exe.
    /V=<verb> - Specify which verb to use. The default is open. For example: you could specify ZENSTART /V=Explore C:\WINDOWS and the explorer view would open C:\WINDOWS. Other verbs include 'open', 'print', 'edit'. The list varies depending on what document you are trying to open. You can see the list of verbs if you open and explorer window and select View | Folder Options. Then select the File Types tab. press Edit on any one of the items listed and you will see a list of the 'verbs' in the lower list. You can even create your own!

    Examples:

    ZENSTART http://www.novell.com

    ZENSTART /w /max app.hlp

    Examples

    These tools can be used in many different situations to increase your efficiency. Here are some examples of how you can use them alone, or in creative combinations, to make life easier.

    Example 1: Application Object Creation and Management

    Let's say you have a large tree where you want to duplicate a given set of application objects out to a dozen different containers with just a server name macro change on each application object. How can the Tool Kit help?

    Using APPXPORT, APPCREAT, APPMACRO, APPASSOC, and APPERASE you can do magical things. Let's say you have an application object called APP1 in container 'Master'. You want that application object duplicated in containers Cont1 - Cont12. Once you have APP1 setup appropriately, it is very easy. Using a batch file you can export the app object out to an AOT, then create and customize app objects in each of the 12 containers. Then you simply associate the app object with the users of that container. Your batch file2 might look something like this, for example:

    AppCreate.BAT

    Rem %1 - Object Name, AOT file name, Folder name (assume they are the same)

    Rem %2 - Container name

    Rem %3 - Server name

    Rem Erase any existing app object

    APPERASE ACME_TREE .%1.%2

    Rem Create the new app object with the source path set (optionally)

    APPCREAT ACME_TREE .%1.%2 %1.aot \\%3\sys\apps\%1

    Rem Set the ServerName macro

    APPMACRO /Set ACME_TREE .%1.%2 ServerName %3

    Rem Associate the application object with the users of the container

    APPASSOC ACME_TREE .%1.%2 .%2 startmenu launcher

    AppBatch.BAT

    Rem %1 is name of object in master container

    Rem Export the application object to a file

    APPXPORT ACME_TREE .%1.master %1.aot

    Call AppCreate.bat %1 cont1 Server1

    Call AppCreate.bat %1 cont2 Server2

    Call AppCreate.bat %1 cont3 Server3

    Call AppCreate.bat %1 cont4 Server4

    Call AppCreate.bat %1 cont5 Server5

    Call AppCreate.bat %1 cont6 Server6

    Call AppCreate.bat %1 cont7 Server7

    Call AppCreate.bat %1 cont8 Server8

    Call AppCreate.bat %1 cont9 Server9

    Call AppCreate.bat %1 cont10 Server10

    Call AppCreate.bat %1 cont11 Server11

    Call AppCreate.bat %1 cont12 Server12

    Rem Clean-up

    Delete %1.aot

    Using the AppBatch batch file you can simple-command something like

    AppBatch App1

    This would export App1 to an AOT file, then create it in 12 containers, and set the server name and source path macros appropriately.

    Example 2: Diagnostics

    Five of the Tool Kit utilities are there for troubleshooting and diagnostics.

    NALRPT is meant to help you troubleshoot what has been installed on a workstation, and when it was installed. It can also be used to dump the report to comma-separated fields in a CSV file for easy import into a database.

    WSUTIL can be used to tell if the NAL Workstation Association Agent is running, trigger it to refresh now, or kill the thing if you are trying to update a file by hand or just want it out of the way for the moment.

    Bonus Tip: Without using WSUTIL, do you know how to tell if the NAL Workstation Agent is currently running? If you thought, open the Workstation Manager Scheduler and see if it says 'Yes' for currently running, Bzzt! You would be wrong! Unfortunately that isn't always reliable. Here's a better way.

    On WinNT, pull up the Task Manager and look at the processes. If you see WMRUNDLL.EXE,that's a tell-tale sign. On Win95, WM95SAST is in the list of processes when you press Ctrl-Alt-Del. Additionally, we added a little bit of magic to the Help | About | More dialog in the Application Explorer and Application Launcher. If you see ZENAPPWS.DLL in the list, that means it is currently running. If it is not currently running, it won't be on the list. The same is true for the NAL NT Service. If it is currently running, you will see it in the list of NAL modules. Handy, huh?

    APPMACRO can be used to dump the contents of the macros on an application object. This is just plain groovy, and you'll likely think of splendid ways to use it. You can also use APPMACRO to modify the macros on an existing app object.

    AOTXPORT can be used to convert the binary AOT file to a text-based version of the file called AXT. Very handy when you want to use your favorite text editor to edit an application object.

    LCXPORT is useful for viewing the launcher configuration on a container or user. You can also use it to copy the launcher configuration stream from one object to another. Very handy if you standardize your launcher configuration and want to blast it out to a bunch of users or container. Write a batch file and it is done!

    Bonus Tip: Did you know you could use LCXPORT to copy any stream on any object? Let's say you wanted to sync the registry stream on one app object to a dozen or so others. It's a cinch. Just use the /Attribute option.

    Example 3: Those Stupid FILs -- AOTFDEF to the rescue.

    Are you as irritated as we are with those pesky FIL files created by snAppShot? (There is a lot of history there but we will leave it alone.) Did you know AOTFDEF can save you from FIL hell? You can use AOTFDEF to automate the renaming of the FIL files back to their true names. And it can create a new FILEDEF.TXT file just so you feel complete. (See how tender the engineers are with your emotional needs? Having read all your e-mail, we are keenly aware of the sometimes fragile mental health of our readers.) Here's how:

    AOTFDEF aotfilename /FIL2TRUE /RD /V /REGEN

    You need to make sure the SOURCE_PATH macro is accurate for where all the FIL files are. As long as there aren't any duplicates (/RD will fix that) the files will be renamed to their true names, and the AOT file will be updated to reflect that. The /V option will verify that each file referenced by the AOT is actually where it is supposed to be and the /REGEN option re-creates the FILEDEF.TXT file.

    Example 4: Fixing NAL GUID Build Up

    NALPURGE is a new utility that we've added to the Tool Kit. It can be used to eliminate from the registry the NAL GUIDs that are no longer being used. (It can be used for several other things too.)

    Try this:

    NALPURGE /ALLGUIDS /DAYS=120

    This will remove from the registry all GUIDs that are over 120 days old. If you look in the back-up file created, you can see what it removed. It can be pretty scary if you've been using NAL for a while. This is a nice way to clean out the cobwebs and polish the counter tops!

    Feedback for the Application Management Tool Kit

    We want to hear what you like, dislike, want, need, crave. Not that we'll respond via e-mail, necessarily. But we'll add your feedback to the enhancements file, which is better anyway. Please e-mail zwmag@novell.com with TOOLKIT in the subject line, and don't be shy.

    Download the Tool Kit


Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© 2014 Novell