Localizing the Setup Wizard into Another Language
Microsoft Corporation
April 1996
Abstract
This article contains information about using the English version of the Microsoft® Access Developer's Toolkit (ADT) for Windows® 95 Setup Wizard with localized versions of Microsoft Access for Windows 95.
When working with the English version of the ADT and a localized version of Microsoft Access, there are various changes you may want to make to the Setup Wizard to make it function correctly and to produce a setup program tailored to your needs. These changes include:
- Changing the filenames that the Setup Wizard looks for when it builds your setup program. This is necessary because the English version of Setup Wizard looks for files shipped in the English version of Microsoft Access. Some of these filenames change when Microsoft Access is localized into different languages. The Setup Wizard fails if it can't find the right filenames, so you need to correct the filenames that it looks for. The next section explains how to do this.
- Changing various strings that the Setup Wizard uses when generating your setup program. If you want your setup program to be localized into a language other than English, there are various changes you need to make to the Setup Wizard. These are discussed in the section titled "More Details on How the Setup Wizard Works."
How to Change the Filenames That the Setup Wizard Looks For
For the English version of Setup Wizard to work with a localized version of Microsoft Access, you need to change some of the filenames that the Setup Wizard looks for when it builds your setup program. This section contains instructions on how to accomplish this task.
Note The instructions in this section explain only how to change the names of the files that the Setup Wizard looks for. These instructions do not explain how to localize the setup program that the Setup Wizard creates for you. To create a fully localized setup program, skip this section and go to the section titled "More Details on How the Setup Wizard Works." Carefully follow the instructions that apply to your needs.
Changing Filenames in the Microsoft Access Run-Time Version Template
- Locate the template file 01Microsoft Access Run-Time Version.mdt, which is used by the Setup Wizard. This template file is usually found in the following location: c:\msoffice\access\adt\setup wizard\msaccomp\.
- Before making any changes, make a backup copy of this file.
- Open this file in Microsoft Access.
- Open the table named Access Runtime. Click in the Param1 field.
- Find the following three English filenames in the Param1 field. Replace each name with the corresponding localized filename.
English |
VAEN232.dll |
OPENENU.dll |
MSO5ENU.dll |
Brazilian Portuguese |
VAPTB232.dll |
OPENPTB.dll |
MSO5PTB.dll |
Czech |
VACS232.DLL |
OPENCSY.DLL |
MSO5CSY.DLL |
Danish |
VADA232.DLL |
OPENDAN.DLL |
MSO5DAN.DLL |
Dutch |
VANL232.DLL |
OPENNLD.DLL |
MSO5NLD.DLL |
English |
VAEN232.DLL |
OPENENU.DLL |
MSO5ENU.DLL |
Finnish |
VAFI232.DLL |
OPENFIN.DLL |
MSO5FIN.DLL |
French |
VAFR232.DLL |
OPENFRN.DLL |
MSO5FRN.DLL |
German |
VADE232.DLL |
OPENDEU.DLL |
MSO5DEU.DLL |
Greek |
VAEL232.DLL |
OPENELL.DLL |
MSO5ELL.DLL |
Hungarian |
VAHU232.DLL |
OPENHUN.DLL |
MSO5HUN.DLL |
Iberian Portuguese |
VAPTG232.DLL |
OPENPTG.DLL |
MSO5PTG.DLL |
Italian |
VAIT232.DLL |
OPENITA.DLL |
MSO5ITA.DLL |
Norwegian |
VANO232.DLL |
OPENNOR.DLL |
MSO5NOR.DLL |
Polish |
VAPL232.DLL |
OPENPLK.DLL |
MSO5PLK.DLL |
Russian |
VARU232.DLL |
OPENRUS.DLL |
MSO5RUS.DLL |
Spanish |
VAES232.DLL |
OPENESP.DLL |
MSO5ESP.DLL |
Swedish |
VASV232.DLL |
OPENSVE.DLL |
MSO5SVE.DLL |
Turkish |
VATR232.DLL |
OPENTRK.DLL |
MSO5TRK.DLL |
Taiwan |
VACHT232.DLL |
OPENCHT.DLL |
MSO5CHT.DLL |
Korea |
VAKO232.DLL |
OPENKOR.DLL |
MSO5KOR.DLL |
Japanese |
VAJP232.DLL |
OPENJPN.DLL |
MSO5JPN.DLL |
Additional steps for Taiwan, Korean, and Japanese versions of Microsoft Access
If you are using a version of Microsoft Access that is localized for Taiwan, Korea, or Japan, you also need to make the following changes to the template file 01Microsoft Access Run-Time Version.mdt.
- Open the table named Access Runtime. Click in the Param1 field.
- Find the following English filename in the Param1 field. Replace that filename with the corresponding localized filename.
English: MSO95.DLL
Taiwan: MSO95FE.DLL
Korea: MSO95FE.DLL
Japanese: MSO95FE.DLL
- Click in the Param1 field. Find the record whose Param1 field contains "QFEUPD.EXE".
- Click in the Language field of this record. Enter the string "UNUSED".
- Go to the record with ID = -19982. Copy this record.
- Go to a new record at the bottom of the table. Paste this record.
- Change the ID field for this record to a unique value (for example, -19981).
- Change the LineID field for this record to "add dbcs3032_dll".
- Change the Param1 field for this record to "dbcs3032.dll".
- Change the Param4 field for this record to "dbcs3032_dll".
- Go to the record with ID = 2000.
- In the Param2 field for this record, insert "\r{sys dbcs3032_dll:1}" immediately after "\r{sys msjt3032_dll:1}".
- Go to the record with ID = 2100. Copy this record.
- Go to a new record at the bottom of the table. Paste this record.
- Change the ID field for this record to a unique value (for example, 2125).
- Change the LineID field for this record to "sys dbcs3032_dll".
- Change the Param3 field for this record to "dbcs3032_dll".
Changing Filenames in the Graph Run-Time Version Template
- Locate the template file 07Microsoft Graph 5 Run-Time Version.mdt, which is used by the Setup Wizard. This template file is usually found in the following location: c:\msoffice\access\adt\setup wizard\msaccomp\.
- Before making any changes, make a backup copy of this file.
- Open this file in Microsoft Access.
- Open the table named Graph5. Go to the record with ID = 750.
- Click in the Language field of this record. Delete the "!usa" string from this field.
- Go to the record with ID = -19400.
- Click in the Language field of this record. Delete the "ger" string from this field.
- Click in the Param1 field of this record. Replace the filename with corresponding localized filename listed in the following table.
Brazilian Portuguese |
GRPTB50.olb |
Czech |
GRCS50.olb |
Danish |
GRDA50.olb |
Dutch |
GRNL50.olb |
Finnish |
GRFI50.olb |
French |
GRFR50.olb |
German |
GRDE50.olb |
Greek |
GREL50.olb |
Hungarian |
GRHU50.olb |
Iberian Portuguese |
GRPTG50.olb |
Italian |
GRIT50.olb |
Norwegian |
GRNO50.olb |
Polish |
GRPL50.olb |
Russian |
GRRU50.olb |
Spanish |
GRES50.olb |
Swedish |
GRSV50.olb |
Turkish |
GRTR50.olb |
Taiwan |
GRCHT50.olb |
Korea |
GRKO50.olb |
Japan |
GRJP50.olb |
Additional steps for Taiwan, Korean, and Japanese versions of Microsoft Access
If you are using a version of Microsoft Access that is localized for Taiwan, Korea, or Japan, you need to also make the following changes to the template file 07Microsoft Graph 5 Run-Time Version.mdt.
- Open the table named Graph5.
- Go to the record with ID = -19700.
- Click in the Param1 field. Replace the string "SDM.dll" with "SDMDBCS.dll".
Changing the SQL Server Template for Far East Versions of Microsoft Access
If you are using a version of Microsoft Access that is localized for Taiwan, Korea, or Japan, you need to make the following changes to the template file 10ODBC Support With SQL Server.mdt.
- Locate the template file 10ODBC Support With SQL Server.mdt, which is used by the Setup Wizard. This template file is usually found in the following location: c:\msoffice\access\adt\setup wizard\msaccomp\.
- Before making any changes, make a backup copy of this file.
- Open this file in Microsoft Access.
- Open the table named ODBC.
- Click in the Param1 field. Find the record whose Param1 field contains "MSCPXL32.DLL".
- Click in the Language field of this record. Enter the string "UNUSED".
- Click in the Param1 field. Find the record whose Param1 field contains "12520437.CPX".
- Click in the Language field of this record. Enter the string "UNUSED".
- Click in the Param1 field. Find the record whose Param1 field contains "12520850.CPX".
- Click in the Language field of this record. Enter the string "UNUSED".
More Details on How the Setup Wizard Works
Setup Wizard File Structure
The Microsoft Access Developer's Toolkit for Windows 95 Setup Wizard consists of three sets of files that are used to create the final setup program:
- WzStp70.mdb and SWU7032.DLL. These are the files that make up the Setup Wizard itself. The DLL should work in all locales, as should the Setup Wizard. There are some tokens in the Setup Wizard that have to be changed to be locale dependent. These tokens are split into UI tokens (how the Setup Wizard looks) and generation tokens (what the Setup Wizard makes). In most cases, a user does not have to modify the UI tokens but instead has to modify just those tokens used in the final setup program.
- Files in the MSAcComp subdirectory. These template (.mdt) files are used by the Setup Wizard to generate Microsoft Access component setups. They include the information for the actual setup program, as well as other components (such as Microsoft Access run-time files and IISams files). Because some of the filenames for the components are localized, these files too have to be modified.
- Files in the Redist subdirectory. These files, along with others installed by Microsoft Access, are copied by the Setup Wizard into the resulting images. Some of these files are specific to the Setup Wizard and should be modified to match.
Setup Wizard Operation
The Setup Wizard creates the setup program using a sequence of steps that begins with the user's information and ends in the actual images. In the interim steps, the Setup Wizard creates a set of tables containing the setup program information in its own file. These tables are generated from template tables. When all of the tables are completed, the Setup Wizard imports tables in similar format from the Microsoft Access components requested by the user. When the Setup Wizard has all the information it needs, it proceeds to lay out the files in the images directory. The Setup Wizard then uses a setup generation engine to traverse the tables and create the files needed by the setup program to run.
The tables in the Setup Wizard fall into four different categories:
- stp_tblTableName: These tables are used by the Setup Wizard for maintaining state, user options, and so forth. In general, there should be no reason to worry about these tables. The exceptions are the two tables that contain strings the Setup Wizard uses. These strings are used both in the Setup Wizard interface and in the generated setup program. When localizing the Setup Wizard, some tokens in these tables have to be modified.
- stp_tplTableName: These tables are used as templates for user tables that generate the setup information files required for the setup program. These tables need to be edited for any localization, as the user tables are generated dynamically.
- stp_usrTableName: These tables are the postprocessed versions of the stp_tpl tables. They contain the core information, as well as any user-defined components in the setup program.
- TableName: These tables contain the setup information for Microsoft Access components provided by the Setup Wizard. This naming scheme ensures that they do not compete with the user's tables. These tables are linked from the template files in the MSAcComp directory.
Token Tables
You will notice, as you proceed through this article, that many of the tables have been tokenized to afford easy localization. These tables have analogous token tables, identified by appending the string "Tokens" to the table name. The structure of the token table is simple:
- tokenID: This is the name of the token as it shows up in the table. In the table, a token is represented by \l{tokenID}.
- Language: This is the language identifying this particular value for the token. An empty string for the token language means that this particular value is appropriate for all languages.
- string: This is the value of the token for this particular language.
In the case of the token tables embedded in the Setup Wizard (as opposed to those in the template tables), the token strings are actually evaluated before being used. That is, each string is passed through an Eval function. This allows the Setup Wizard to create both simple and complex tokens. A simple token has the form of "string". The Eval function extracts the quotation marks and then returns string. A complex token takes the form of "Date: " & Now(). The Eval function evaluates the expression and returns a compound string incorporating the current date and time.
When localizing the token tables, you may choose to edit the values in place, using "usa" as the language. You may also choose to add new rows to the tables with new language descriptors, such as "spa" for Spanish. However, values are required for the language descriptor of the token tables, the language descriptor of the component tables, and the language descriptor in the UI Strings table. When changing the value of a token, it is necessary that the form of the token remain. That is, if a token uses a vertical bar (|) character or other code set, they must remain in place.
Note You must be very careful when localizing tokens. Changes not described in this article might result in the setup program failing to work.
Localizing WzStp70.mdb
The Setup Wizard file itself contains several tables with localization tokens. Some of these tables do not need to be modified, while others do.
Stp_tblStrings
This table contains error strings that are shown to the user during the generation of the setup. These strings do not need to be localized for the Setup Wizard output because they only affect the interface.
Stp_tblUIStrings
This table corresponds mostly to strings used in the interface. However, some strings were added to this table that are used in the actual generation of the setup program files.
- ID 342: This string ("setup") represents the location that the Setup Wizard searches for and then places the setup program files. This string must be no longer than eight characters because the string cannot constitute a long filename. This string also shows up in the component template responsible for the setup program files themselves (see below). When localizing that file, you must make sure that the strings match.
- ID 380: This string ("Program Files") represents the default location of the program files directory. While it was possible to extract this string from the registry in Windows 95, it is not available in Microsoft Windows NT®. This string is used to find some files required by the Setup Wizard, as well as to recommend the default install directory of the resulting setup. This string should be changed to match the locale of your (the developer's) machine, as the files need to be found. When the Setup Wizard presents you with "C:\Program Files\Application" as the default installation directory, you choose the Program Files directory name for the locale of the setup program you generate.
- ID 381: This string ("Common Files") is analogous to the Program Files string, but for the common files subfolder. All the same issues apply.
- ID 1009: This string ("usa") represents the language token used in the setup generation. All the tables used in creating the setup information file are tokenized by language. This string is used to identify the language of the resulting setup program. It must match the language descriptor used in the token tables; if not, the setup program is not generated appropriately.
- ID 352/353: These strings ("Disks\" and "Disk|") represent the location of floppy image files under the images subfolder. Often, you might choose to change the value of these tokens so that you do not have to modify the folder names by hand. Note that the string form must remain intact. That is, the first string must end with a backslash (\), while the second string must end with a vertical bar (|).
- ID 354/355: These strings ("Net\" and "Compnet\") represent the location of the network and the compressed network image files, respectively, under the images subfolder.
Stp_tplComponent tokens
This token table illustrates one of the basic principles of token tables. If a token string uses three equal signs (===) or three hyphens (---) to designate a value, the string represents a comment. That is, many of the strings are used to comment the generated setup information file. In most cases, you do not need to localize these because most users do not look at the setup information file. If you prefer to, you may localize these tokens.
The only token that you are required to localize is the token "Setup". The value of this token must match the value offered by the appropriate string in the UI Strings table described above.
Stp_tplINF header tokens
- FloppyDir: Represents the folder names for floppy images. You must localize this string if you changed the equivalent string in the UI Strings table. The code set \r{1} represents the floppy number of the current floppy. For example, you might change this token to "..\disque\r{1}".
- Floppy Setup Name: This string is used in the Progress dialog box of the setup program when running from floppies. The \r{1} again represents the floppy number.
- NetCompSetupName: This string is analogous to Floppy Setup Name in the compressed network setup program case.
- NetSetupName: This string is analogous to Floppy Setup Name in the network setup program case.
Stp_tplLST
In this table, the lines with IDs 150 through 165 all use the string "setup". Because this string is not tokenized in this table, you have to either change every occurrence by hand or tokenize it. If you're modifying this string by hand, be sure to avoid changing the extension. If you are tokenizing this string, replace the portion before the extension (setup) with \l{setup}. Then you may add to the token table a token by the name of setup with a corresponding value. In either case, you must make sure that this string matches the value in the UI Strings table.
Stp_tplLST tokens
- BB DLL: This string represents the name of the DLL with the billboards and bitmaps. If you choose to use a DLL other than the one provided, you must modify the name here. Note that, by default, the Setup Wizard expects to find a DLL named MSADT that is concatenated with the three-letter language descriptor.
- Require31: This message is offered to the user trying to run the setup program under Windows 3.1.
- WndMess: This string is used when the setup program is first run. Note the usage of the stGetValue function to insert the application name in the string.
Stp_tplMain tokens
This table contains comments that have been removed from this writeup.
- Bitmap DLL: The DLL used to hold the billboards and bitmaps. Must match other occurrences of this value.
- Compact: String offered to the user in the main dialog box of the setup program for a compact installation. Only shows up if the user is faced with more than one install option. Note the usage of an ampersand (&) to denote an accelerator.
- Compact Description: Description used for the compact installation option.
- Complete: String offered to the user for the custom (normally, also complete) installation option. Only shows up if the user is faced with more than one install option.
- Complete Description: Description used for the custom installation option.
- Install: String offered to the user for the single component install option.
- Install Description: Description used for the single component install option.
- Maint: String used to designate maintenance mode.
- setup: Another occurrence of this very common string. You must make sure that it matches other occurrences of this string.
- Typical: String offered to the user for the typical installation option. Only shows up if the user is faced with more than one option.
- Typical Description: Description used for the typical installation option.
- Workstation: Unused.
- Workstation Description: Unused.
- Workstation Specifics: Unused.
Stp_tplSTF header tokens
- AboutBoxString: Used in the About box for the setup program. Does not need to be modified.
- AppName: Application name as used by the setup program to track maintenance mode. Does not need to be modified.
- AppVersionNum: Version number for the application as used by the setup program to track maintenance mode. Does not need to be modified.
- CheckModules: Used by the setup program to detect other running programs and warn the user of a possible conflict. The format is a comma-separated list of value pairs, where the first value is the window class name and the second value is the string used to represent the application to the user. Only the second string in each value pair needs to be changed.
- CheckModulesGraph: See CheckModules above. Used only if the setup program includes the graph component.
- CheckModulesRepl: See CheckModules above. Used only if the setup program includes the replication component.
- DialogCaptionBase: Used as the application name represented in the setup program. Does not need to be modified.
- FrameBitmapDll: The DLL containing the bitmaps for the setup program. This value must match previous occurrences of this variable.
- FrameBitmapNums: The resource IDs of the two bitmaps for the string "Setup" in the upper-left corner of the setup program window.
- FrameCaption: Used in the dialog box captions of the setup program. Contains a function to represent the application name.
- Language: Uppercase three-character string for language. Used in tracking maintenance mode.
- MSAPPSMode: Does not need to be modified.
- SetupVersion: Does not need to be modified.
- UsageString: Message presented to the user if they type in an incorrect argument to the setup program.
- Usetup: Uppercase string for "Setup". Must match previous occurrences of this variable in other tables.
- WelcomeString: Used by the bootstrapper while copying files from the floppies to the user's temporary storage folder.
Localizing Files in the MSAcComp Subfolder
These files contain the information used by the Setup Wizard to insert a component provided by Microsoft Access. In most cases, the changes need only to reflect comment changes in the generated STF. These changes take place in the token tables of each file. There are, however, special cases that are listed in this section. When a line needs to be changed, it is marked with a language specifier in the language column. To make the changes, you may either copy the lines and mark them with a different language specifier or change both the values and the language specifier in place. Note that line order is relevant in the main (not token) tables, so the ID must be used to maintain sequence. If you are adding lines to a main table, be sure to place them immediately after their English analog. Also, you must change the Language field in the token table for each file in the MSAcComp subfolder to match the language string chosen in Stp_tblUIStrings, ID 1009 (see above).
00Setup.mdt
Setup table
- Lines with ID -19800, -19700, -19600: Change the filename in the Param1 column to reflect the appropriate 8.3 filename format. Note that the extension cannot be changed, only the name of the file up to the extension. This string (with a length limit of eight characters) must match all other uses of the string "setup".
- Line -19300: Change the filename in Param1 to match the name of the DLL that contains all of your bitmaps.
Setup token table
- lang: Must match the language string in all other instances. Generally, a three-character string.
- setup: Must match other uses of this string.
01Microsoft Access run-time Version.mdt
Microsoft Access run-time table
- ID -19750: Change the Language column to "usa".
- ID -19749: Copy the line, change the Language column to your language, and change the filename in Param1 to appropriate VBA filename. The filename should look something like VA??232.DLL, where ?? is a two- or three-character language specifier.
- ID -19680: Copy the line, and update the language and filename in Param1. Filename structure should be similar to English and German versions.
- ID -19670: Same as ID -19680.
- ID 4050: Change Language column to "usa".
- ID 4000: In the Param2 field, delete "\r{vaen232_dll}" from the beginning of the field.
The following changes are for Far East versions of Microsoft Access only:
- ID -19982: Copy the line, change the Language column to your language, and change "msjt3032" to "dbcs3032" in fields LineID, Param1, and Param4.
- ID -19700: Change the filename in Param1 to "mso95fe.dll".
- ID 2000: In Param2, insert "\r{sys dbcs3032_dll:1}" right after "\r{sys msjt3032_dll:1}".
- ID 2100: Copy the line, change the Language column to your language, and change "msjt3032" to "dbcs3032" in fields LineID and Param3.
07Microsoft Graph 5 run-time Version.mdt
Graph5 table
- ID -19400: Copy the line and update the Language column and the filename in the Param1 column. The localized versions of Graph require both the English object library and the localized object library. The filename of the object library should be similar in structure to the English and German filenames.
The following change is for Far East versions of Microsoft Access only:
- ID -19700: Change the filename in Param1 to "sdmdbcs.dll".
Graph5 token table
- &Edit: Used in the OLE menu merging for the graph object. Strings have been provided in many languages. If necessary, add a line with your language translation.
- &Open: See $Edit above.
09Replication.mdt
Replication token table
- ReplLongDir: Long filename for the replication folder in the Common Files folder.
- ReplShortDir: Short (eight-character) filename for the replication folder in the Common Files folder. Used in network installs and on systems that don't support long filenames.
- transpm: Name of the shortcut added for the transporter. The format for this string is SHORT<LONG>. You must make sure that the short string is no longer than eight characters. You must also make sure that the long string is enclosed in a single set of "<>" and that it does not contain any illegal characters.
Localizing Files in the Redist Folder
These files are used by the Setup Wizard in the resulting images.
ACMSetup.exe
This is the setup program itself. Copy this file from the Microsoft Access CD-ROM into this folder.
ACMSetup.hlp
This is the Help file for the setup program. Copy this file from the Microsoft Access CD-ROM into this folder.
CTL3D32.dll
Does not need to be changed.
Expand.exe
Program used to expand compressed files. This program is available only with released versions of Windows NT. If you do not own Windows NT, you have to use the English version. Note that this program is a console application and does not have much of an interface at all.
MSACCCAH.dll
This file does not need to be modified. It contains setup code that is specific to Microsoft Access.
MSADTUSA.dll
This is the DLL with all of your bitmaps. You can use a resource editor to modify this file. You must also rename this file to match the name used in the Setup Wizard files.
MSArnReg.exe
This file does not need to be modified.
MSArnReg.dll
This file is used to register Microsoft Access in case the full copy is not there. The only interface elements of this file show up in the Explorer when the user views the properties of a Microsoft Access database. This file is not available in languages other than those the ADT is available in.
MSSetup.dll
Copy this file from the Microsoft Access media.
QFEUPD.exe
Copy this file from the Microsoft Access media.
Setup.exe
Copy this file from the Microsoft Access media. Be sure to rename this file to match the names specified in the Setup Wizard files (for example, Install.exe or some other appropriate string).
Setup.tdf
Rename this file to match the "setup" string used throughout the Setup Wizard tables.
Setup.ini
Rename this file to match the "setup" string used throughout the Setup Wizard tables.