home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / Chip_2001-06_cd1.bin / zkuste / vbasic / Data / Utility / MSISDK15.msi / MsiLoc.txt < prev    next >
Text File  |  2000-06-05  |  5KB  |  88 lines

  1. MSILOC.EXE -- Copyright (c) Microsoft Corporation 2000.  All rights reserved.
  2.  
  3. - compile unicode for Windows NT 4.0 and Windows 2000
  4. - compile ansi for Windows 9X
  5. - compiled from msiloc.cpp sample code
  6.  
  7. FEATURES:
  8. 1.) Generates a resource file (.rc) from a Windows Installer database (.msi)
  9. 2.) Imports a resource dll (.dll) into a Windows Installer database (.msi)
  10.  
  11. ==================================================================================================================
  12. msiloc /? will display the command line options availabe.  A summary of the options is provided below.
  13.  
  14. EXPORT .msi to .rc
  15.     msiloc.exe -e {database} {option 1} [{option 2}...]
  16. IMPORT .dll (.res) into .msi
  17.     msiloc.exe -i {database} {resource dll} {option 1} [{option 2}...]
  18.  
  19. OPTIONS
  20. -d *        // all dialogs, available in both export and import modes
  21. -d {dialog}        // specific dialog, available in both export and import modes
  22. -s * *        // all strings, available in import mode
  23. -s {table} {column}    // specific table column, available in export mode
  24. -x        // no binary data, available in export mode
  25. -c {database}    // save to new database, available in export and import modes
  26.  
  27. The -d {dialog} option can be specified up to 32 times on the command line.
  28. The -s {table} {column} option can be specified up to 32 times on the command line.
  29. The -d * option cannot be used with the -d {dialog} option.
  30.  
  31. The tool does not automattically create a compiled resource file (.res).  Use the following command to create it. RC.EXE is availabe with Microsoft Visual Studio and is the resource compiler.
  32.     rc.exe {resource file}
  33.  
  34. For import, the tool requires that the localized compiled resource file (.res) be linked into a dynamic link library (.dll).  Use the following command to create it.  LINK.EXE is available with Microsoft Visual Studio and is the linker.
  35.     link.exe /DLL /NOENTRY /NODEFAULTLIB /MACHINE:iX86 /OUT:{resource dll} {compiled .res file}
  36.  
  37. ==================================================================================================================
  38. Important Information:
  39.  
  40. 1.) Exporting a MSI to RC only works with a database that is marked langauge neutral.  To check the codepage of
  41.       your database, use the msiinfo tool with the following command line.  The msiinfo tool is provided in the
  42.     Windows Installer 1.1 SDK.
  43.     msiinfo {database} /d
  44.     Alternatively, you can use the MsiDatabaseExport API to export the _ForceCodepage table.
  45.  
  46. 2.) You can only import a localized resource file via the DLL into a database whose codepage is LANGUAGE_NEUTRAL
  47.     or whose codepage matches the codepage of the localized resource file.
  48.  
  49. 3.) When importing on Windows 9x, the User/System Locale must be set to the codepage of the localized resource
  50.     file.
  51.  
  52. 4.) When importing on WindowsNT/Windows2000, the codepage of the localized resource file must be installed on
  53.     the system.
  54.  
  55. 5.) The tool creates three tables -- _RESDialogs, _RESControls, and _RESStrings for maintaining resource Id's
  56.     and for permitting correct update of the data.  Therefore the database is always opened read/write.  In
  57.     addition the database you import into must contain these tables.  Generally this should be the same database
  58.     you exported from, or a copy of that database after the export.
  59.  
  60. 6.) The RichEdit control is exported as Static Text.
  61.  
  62. 7.) Tab order and attributes are not utilized by the tool.  Billboards are not exported, but a groupbox
  63.     placeholder is put on the dialog where the Billboard would appear on the dialog.
  64.  
  65. 8.) When exporting binary data, the temporary files are placed in the folder returned by W32::GetTempFolder().
  66.     These files can be deleted after the resource file (.rc) is compiled (.res).
  67.  
  68. 9.) Because radiobutton properties can be used, import only updates the width, height, and text.  The x and y
  69.     dimensions of radiobuttons are local to the group to which they belong and those values could change among
  70.     the various radiobutton groups.  Furthermore, if a property is used more than once, the last property
  71.     imported wins out.  Each time the radiobutton is found as control, the RadioButton table is updated with
  72.     the new data.  If a particular radiobutton is not localized, it could overwrite the localized data of a
  73.     radiobutton with the same property that was found earlier.
  74.  
  75. 10.) A resource file has a limitation to the maximum length of a string.  The tool outputs the string
  76.      "!! STR OVER LIMIT!!" for this occurence and upon import will ignore the update of the string. 
  77.  
  78. 11.) The tool does not support localization of the _SummaryInformation stream of the Windows Installer database.
  79.     In addition, it does not permit import of new dialogs, new controls, and/or new strings.
  80.  
  81. ==================================================================================================================
  82. KNOWN ISSUES
  83.  
  84. 1.) Specifying the same column of a table more than once when exporting strings will cause the generation of
  85.     an invalid resource file (due to duplicate ID's since the tool attempts to maintain the same resource IDs).
  86.  
  87. 2.) Specifying the same dialog more than once when exporting specific dialogs will cause the generation of an
  88.     invalid resource file (due to duplicate ID's since the tool attempts to maintain the same resource IDs).