Program Group Control

Program Group Control includes two programs (APPSTART and Applications Control [APPCTL]) that manage the environment for SMS network applications on SMS clients running Windows version 3.1, Windows for Workgroups, Windows 95 or Windows NT.

APPCTL manages connections to the SMS network application server and ensures that the assigned SMS network application program groups are built when Windows is started. The user's environment information is obtained from the Program Group Control database. When a user clicks an icon to start an SMS network application, APPSTART retrieves a list of servers from the Program Group Control database and permits access to an available server. After connecting to that server, APPCTL sets up the Windows environment so the application runs correctly, which allows APPSTART to start the application.

APPCTL Command Line Options

{APPCTL16 | APPCTL32 | APPCTL95} [/stop ] [/hide] [/deinstall] [/disable:yes]

/stop

Stops the current APPCTL session.

/hide

Hides the Program Group Control window. By default, this window appears when APPCTL checks for new applications. Before attempting to hide the window, use the /stop option to stop APPCTL.

To make the Program Group Control window reappear after hiding it, use the /stop option to stop APPCTL, and then choose the Program Group Control icon.

/deinstall

Removes all SMS program groups from the Program Manager and the local registry.

/disable:yes

Disables Program Group Control on the client.

General Guidelines for Program Group Control

Program Group Control can reconfigure an SMS shared application if it determines that its registry entries are corrupted. When the reconfiguration program runs, it selectively removes files from the directory. To prevent deleting user-created files, SMS Setup records the date and time the application was installed and stores this information in the registry. However, if an application is removed, reinstalled, and then removed again, any files modified after the first installation but before the second installation are deleted because its date will not be more recent than the second installation time.

An executable file (DOSETUP.EXE) will run a user-specified installation program under Program Group Control. DOSETUP.EXE allows an arbitrary installation program to be run by Program Group Control. This program would normally be specified as the ConfigurationScript entry in the [Program Item Properties i] section of a PDF file. The command-line syntax is:

dosetup RegName CommandLine

where RegName has the same value as the RegistryName entry in the same section of the PDF, and CommandLine is any valid command line.

For example, the following command runs the installation program for the Microsoft Access 2.0 Service Pack:

dosetup acs2pak setup.exe

DOSETUP provides a mechanism to run an installation program and sets SMS registry status flags required by Program Group Control.

DOSETUP runs the specified command line and manages the status entry under the program item's registry key (HKEY_CLASSES_ROOT\SMS \APPLICATIONS\regName\Configuration\Status). The status entry must be set to UNFINISHED, FAIL, or SUCCESS. DOSETUP operates like SMSSETUP in most respects; it displays the SMS Setup screen, reports errors, and does post-processing following a system restart.

Post-processing sets an application's status flag to SUCCESS. DOSETUP initially sets an application's status to FAIL in case anything goes wrong during processing. To handle a possible system restart by an installation program, DOSETUP sets the status to UNFINISHED immediately before running the user's command line. When the installation program ends, or when Program Group Control Start reruns DOSETUP following a system restart, the status is reset to SUCCESS. An installation program cannot pass an error message to DOSETUP.

DOSETUP is installed in the MSTEST directory on the SMS logon server.

Disabling Program Group Control on Clients

When Program Group Control runs on the client, it can take a few minutes to count user groups and set up the Program Group Control environment. This can happen even when Program Group Control has not been set up for that user. If you are using Program Group Control in your site, and users want to disable it, you can use the Registry Editor or a Program Group Control command-line switch.

To disable Program Group Control using the Registry Editor, add the registry key HKEY_CLASSES_ROOT\SMS\DISABLE_PGC. To enable Program Group Control on the computer, remove this key.

To disable Program Group Control from the command line, add the /DISABLE:YES switch to the APPCTLxx command. For instance, appctl16 /disable:yes disables Program Group Control on a client running 16-bit Windows. If an instance of Program Group Control is already running when it is disabled on the computer, Program Group Control will be disabled the next time the user logs on.

Program Group Control Error Messages

After SMS is installed in a site server domain and a client is added, you may see the following message when running Program Group Control:


Program Group Control: Could not open the application
database because servers are missing from the SMS.INI. Resolve
this problem by rerunning Client Setup.

If you add a client to the site using the SMSLS or RUNSMS batch file (or SMS Client Setup) from an SMS logon server with no servers in the [Servers] section of the DOMAIN.INI file, Program Group Control displays the preceding message.

After SMS is installed in the site server domain, make sure that all SMS logon servers are listed in the [Servers] section of the DOMAIN.INI file on the SMS_SHR share of each SMS logon server in the site server domain. Correct this error by rerunning the SMSLS or RUNSMS batch file or SMS Client Setup when there are one or more servers listed in the [Servers] section of DOMAIN.INI.

A user may see the following message after trying to use an SMS network application:


Failed to connect to SMS network server. Cannot
determine which groups the user belongs to. Please
contact your administrator.

This means the client cannot locate any of the package servers.

To correct this:

    1. Examine the PGC.LOG file in the MS\SMS\LOGS directory on the client. This file may contain specific information regarding the failure.

    2. Examine the [servers] section of the SMS.INI file on the client.

    3. Set up a network connection to the SMS_SHR share for one of the servers listed in this section.

    4. Within the SMS_SHR share, connect to the APPCTL.BOX\ DATABASE directory and look for files with .HAF and .HGF extensions. There should be one .HGF file for each program group available to the user, and there should be one .HAF file for each program item in the assigned program groups. If there are no files with these extensions, it can indicate that the program groups for have not been distributed to this site, or that the user at the client does not have permission to view the files in the share.