This utility allows you to split your extracted or stand-alone application dictionary into “chunks” that are used to install or update an application. The dictionary chunks are part of what you deliver to your customer.
Dexterity Utilities has the Auto-Chunk utility, which greatly simplifies the process of creating a dictionary chunk. For this reason, we recommend that you use the Auto-Chunk utility, rather than the Create Chunk Dictionary utility.
If you are creating an application that integrates with Microsoft Dynamics GP, the dictionary chunks are combined to re-create the integrating dictionary. If you’re creating a stand-alone application, the chunks are recombined to create the stand-alone dictionary. Chunk dictionaries are used for two reasons:
If your application dictionary is small (less than 1 megabyte in size), you can make a single chunk that contains all of the integrating or stand-alone dictionary’s resources. If the dictionary is larger than this, you may want to create several chunks. A common way to divide a dictionary into multiple chunks is to include core resources in one chunk, forms in another chunk, and reports in a third chunk.
If you’re updating an application that integrates with Microsoft Dynamics GP, the dictionary chunks add or change resources in the integrating dictionary. If you’re updating a stand-alone dictionary, the chunks merge with the main dictionary to add or change resources. Also, the dictionary chunks update the core resources in the forms and reports dictionaries associated with the integrating or stand-alone dictionary.
To begin creating the chunk dictionary, select a source dictionary. The source dictionary is the dictionary containing the resources you want to transfer to the chunk dictionary. (This is the application dictionary for stand-alone applications or the extracted dictionary for integrating applications.) Next, choose Create Chunk Dictionary from the Utilities menu.
A dialog box will appear, asking whether you want to edit an existing dictionary chunk. If you are adding resources to an existing chunk dictionary, click Yes. If you’re creating a new chunk dictionary, click No.
If you clicked Yes a dialog box will appear, allowing you to select a dictionary chunk to edit. If you clicked No, a dialog box will appear, allowing you to specify the name and location of the new chunk dictionary.
Due to a historical limitation imposed by early versions of Windows, the name of the chunk dictionary must not exceed 13 characters, including the .cnk extension. If the name exceeds 13 characters, the chunk cannot be accessed by the runtime engine and will not be unchunked.
The Create Chunk Dictionary window will appear.
It will contain name of the source dictionary from which the dictionary chunk is being made. The name in this field is the name of the dictionary that the chunk will become part of. For instance, if you’re creating a chunk from the stand-alone dictionary RESM.DIC, be sure that name appears here. If you’re creating a chunk from an extracted integrating dictionary, be sure that dictionary name appears here.
The sequence number indicates the order in which this chunk will be read when “unchunked.” If you’re creating a single chunk for the entire dictionary, specify 1. If you break the application dictionary into several smaller chunks, the chunks will be merged into the application dictionary in the order specified by the sequence number.
This selection indicates which module the Major Version, Minor Version and Build Number information is associated with. (These are the fields below the Module field.) The setting in the Module field is used when the version numbers and build number are retrieved from the dictionary.
The Major Version and Minor Version numbers indicate the major and minor version numbers for your application. The Build Number indicates the build of the current version of the dictionary. For instance, if this is the first build of release 1.3 of your application, enter a 1 for the major number, 3 for the minor number and 1 for the build number. The version numbers and build number can be retrieved from the dictionary using the Runtime_GetModuleInfo() function. Typically these numbers are displayed in the application’s About Box.
The values you choose for the major version and minor version are significant. If the installation folder contains a dictionary for a previous version of your product dictionary, the dictionary chunk you are creating will unchunk only if the major version and minor version numbers in the chunk match those in the existing dictionary. If the version numbers don’t match, an error indicating the issue will be written to the InstallErrors.txt file in the installation folder. The dictionary chunk won’t be deleted.
If you have multiple dictionary chunks with the same major version and minor version values, the build number is used to determine the order in which the dictionary chunks are unchunked. The chunks with lower build number values are unchunked first.
If the installation folder contains a dictionary for which the major and minor version numbers match those of the dictionary chunk, the build number will be examined. If the build number of the chunk is the same or greater than the build number of the dictionary, the chunk will be unchunked. If the build number of the chunk is lower, it will not be unchunked, and a message indicating the issue will be written to the InstallErrors.txt file in the installation folder. The dictionary chunk will be deleted.
These fields specify which installation scripts (procedures) will be run when the chunk is merged into the application dictionary. To specify a starting or ending script, mark the corresponding check box and then click the lookup button for the starting or ending script. A list of the procedures in the application dictionary is displayed, allowing you to select a script.
The starting and ending scripts run only after all dictionary chunks have been merged into the application dictionary. All starting scripts are run in the order the chunks were merged. Then all ending scripts are run in reverse order. For example, if three dictionary chunks were merged, the starting and ending scripts would run in the following order:
To remove the procedure script selected for the starting or ending script, simply unmark the check box for the starting script or ending script.
Select the series from which you want to add resources to the chunk dictionary. Select the type of resources (Forms, Reports or Core resources) you want to add to the chunk dictionary. Mark the Shared option if you want only forms or reports marked as shared to be displayed in the Source Dictionary Modules list. (Forms are marked as shared in the Form Definition window. Reports are marked as shared in the Report Definition window.)
To add a module to the chunk dictionary, select it from the list, then click Transfer. If you want to add all modules from the Source Dictionary Modules list, click All. If you want to delete a module from the destination dictionary, select the module in the Chunk Dictionary Modules list and click Delete.
If you’re making a single chunk dictionary, first add all forms and reports from your dictionary to the Chunk Dictionary Modules list. Then add all core resources for the series listed from Financial through System in the Series list. Core resources for the Company through Report Writer series can be ignored because they contain duplicate resources from the System series. When you’ve finished, the size of the chunk dictionary should be nearly the same size as the source dictionary. (You can see this by viewing the Total fields beneath the source dictionary and the chunk dictionary lists.)
If you’re making multiple chunk dictionaries, the entry in the Dictionary name field must be the same for each chunk. Also, each chunk must contain the [Core] System Core Tables and the [Core] System Install modules for the dictionary chunks to merge properly. Be sure that you haven’t forgotten to include these resources in each dictionary chunk.
If you’re packaging an application, be sure you include all of the dictionary modules for your application.
If you’re updating an application, use the report generated by the Compare Dictionaries utility to determine which dictionary modules you need to include in your update chunk. Be sure the update chunk contains the [Core] System Core Tables and the [Core] System Install modules so the update chunk will merge properly.
When you’ve added the necessary resources to the Chunk Dictionary Modules list, click Close to complete the chunking process.
At this point, we recommend that you make backups of your chunk dictionaries.