[MSI] Sync with Wine Staging 2.16. CORE-13762
authorAmine Khaldi <amine.khaldi@reactos.org>
Sun, 8 Oct 2017 08:14:40 +0000 (09:14 +0100)
committerAmine Khaldi <amine.khaldi@reactos.org>
Sun, 8 Oct 2017 10:31:31 +0000 (11:31 +0100)
cb4c1dc msi: Always return MSIDBSTATE_ERROR when MsiGetDatabaseState is called from a custom action.
04d242d msi: Create dummy thread to initialize COM for custom actions.
52fbaeb msi: Add support for ActionText table.
700ebc8 msi: Return the correct values from dialogs.
a3dd99c msi: Return the current date and time.
4ccc82a msi: Use the Error table for more messages.
77e3d33 msi: Use MsiProcessMessage() to send error messages.
3ca2dfe msi: Avoid uninitialized pointer access on error path (Coverity).
d631714 msi: Add a trailing linefeed to a FIXME() trace.
39c2ff0 msi: Send the dialog created message in dialog_create().
14f865e msi: Don't queue a parent dialog to be shown in EndDialog.
8826584 msi: Process ShowDialog/EndDialog after all other control events.
44fb23d msi: Don't set _BrowseProperty.
b4c39f4 msi: Avoid a null pointer dereference.
51bd884 msi: Properly parse empty format strings.
16f0dff msi: Return the correct values from custom actions.
f348c7c msi: Rewrite dump_record().
f9c68df msi: Use the given record for INSTALLMESSAGE_ACTIONDATA.
c788ed85 msi: Provide the result of the last action.
1505912 msi: Allow setting NULL in MsiSetInteger().
f9f53fe msi: Correctly format the template field for MsiProcessMessage().
3033dae msi: Implement UI messages for dialogs.
5da9250 msi: Don't increment the refcount when creating dialogs.
48237e2 msi: Add a basic internal UI implementation.
39b841d msi: Fix a buffer overrun.
9032279 msi: Implement UI messages in MsiOpenPackage().
bcc4a04 msi: Implement INSTALLMESSAGE_INITIALIZE and INSTALLMESSAGE_TERMINATE.
a388906 msi: Send the correct UI messages upon calling MsiDoAction().
de5246a msi: Don't reimplement record formatting.
4e49ae3cc msi: Pass the given record to the callback.
df31a7c msi: Store string and record callback data separately.
cef6799 msi: Use an external UI record handler before a string handler.

48 files changed:
dll/win32/msi/action.c
dll/win32/msi/appsearch.c
dll/win32/msi/assembly.c
dll/win32/msi/classes.c
dll/win32/msi/custom.c
dll/win32/msi/database.c
dll/win32/msi/dialog.c
dll/win32/msi/files.c
dll/win32/msi/font.c
dll/win32/msi/format.c
dll/win32/msi/lang/msi_Bg.rc
dll/win32/msi/lang/msi_Da.rc
dll/win32/msi/lang/msi_De.rc
dll/win32/msi/lang/msi_En.rc
dll/win32/msi/lang/msi_Es.rc
dll/win32/msi/lang/msi_Fi.rc
dll/win32/msi/lang/msi_Fr.rc
dll/win32/msi/lang/msi_He.rc
dll/win32/msi/lang/msi_Hu.rc
dll/win32/msi/lang/msi_It.rc
dll/win32/msi/lang/msi_Ja.rc
dll/win32/msi/lang/msi_Ko.rc
dll/win32/msi/lang/msi_Lt.rc
dll/win32/msi/lang/msi_Nl.rc
dll/win32/msi/lang/msi_No.rc
dll/win32/msi/lang/msi_Pl.rc
dll/win32/msi/lang/msi_Pt.rc
dll/win32/msi/lang/msi_Ro.rc
dll/win32/msi/lang/msi_Ru.rc
dll/win32/msi/lang/msi_Si.rc
dll/win32/msi/lang/msi_Sq.rc
dll/win32/msi/lang/msi_Sr.rc
dll/win32/msi/lang/msi_Sv.rc
dll/win32/msi/lang/msi_Tr.rc
dll/win32/msi/lang/msi_Uk.rc
dll/win32/msi/lang/msi_Zh.rc
dll/win32/msi/media.c
dll/win32/msi/msi.c
dll/win32/msi/msi.rc
dll/win32/msi/msi_main.c
dll/win32/msi/msipriv.h
dll/win32/msi/package.c
dll/win32/msi/record.c
dll/win32/msi/resource.h [new file with mode: 0644]
dll/win32/msi/rsrc.rc [new file with mode: 0644]
dll/win32/msi/table.c
dll/win32/msi/upgrade.c
media/doc/README.WINE

index cd1be04..8c17f3b 100644 (file)
@@ -140,49 +140,56 @@ static const WCHAR szValidateProductID[] =
 static const WCHAR szWriteEnvironmentStrings[] =
     {'W','r','i','t','e','E','n','v','i','r','o','n','m','e','n','t','S','t','r','i','n','g','s',0};
 
-static void ui_actionstart(MSIPACKAGE *package, LPCWSTR action)
+struct dummy_thread
 {
-    static const WCHAR Query_t[] = 
-        {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
-         '`','A','c','t','i','o', 'n','T','e','x','t','`',' ',
-         'W','H','E','R','E', ' ','`','A','c','t','i','o','n','`',' ','=', 
-         ' ','\'','%','s','\'',0};
-    MSIRECORD * row;
+    HANDLE started;
+    HANDLE stopped;
+    HANDLE thread;
+};
 
-    row = MSI_QueryGetRecord( package->db, Query_t, action );
-    if (!row)
-        return;
-    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONSTART, row);
+static INT ui_actionstart(MSIPACKAGE *package, LPCWSTR action, LPCWSTR description, LPCWSTR template)
+{
+    WCHAR query[] = {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
+        '`','A','c','t','i','o','n','T','e','x','t','`',' ','W','H','E','R','E',' ',
+        '`','A','c','t','i','o','n','`',' ','=',' ','\'','%','s','\'',0};
+    MSIRECORD *row, *textrow;
+    INT rc;
+
+    textrow = MSI_QueryGetRecord(package->db, query, action);
+    if (textrow)
+    {
+        description = MSI_RecordGetString(textrow, 2);
+        template = MSI_RecordGetString(textrow, 3);
+    }
+
+    row = MSI_CreateRecord(3);
+    if (!row) return -1;
+    MSI_RecordSetStringW(row, 1, action);
+    MSI_RecordSetStringW(row, 2, description);
+    MSI_RecordSetStringW(row, 3, template);
+    rc = MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONSTART, row);
+    if (textrow) msiobj_release(&textrow->hdr);
     msiobj_release(&row->hdr);
+    return rc;
 }
 
 static void ui_actioninfo(MSIPACKAGE *package, LPCWSTR action, BOOL start, 
-                          UINT rc)
-{
-    MSIRECORD * row;
-    static const WCHAR template_s[]=
-        {'A','c','t','i','o','n',' ','s','t','a','r','t',' ','%','s',':',' ',
-         '%','s', '.',0};
-    static const WCHAR template_e[]=
-        {'A','c','t','i','o','n',' ','e','n','d','e','d',' ','%','s',':',' ',
-         '%','s', '.',' ','R','e','t','u','r','n',' ','v','a','l','u','e',' ',
-         '%','i','.',0};
-    static const WCHAR format[] = 
-        {'H','H','\'',':','\'','m','m','\'',':','\'','s','s',0};
-    WCHAR message[1024];
-    WCHAR timet[0x100];
-
-    GetTimeFormatW(LOCALE_USER_DEFAULT, 0, NULL, format, timet, 0x100);
-    if (start)
-        sprintfW(message,template_s,timet,action);
-    else
-        sprintfW(message,template_e,timet,action,rc);
-    
-    row = MSI_CreateRecord(1);
-    MSI_RecordSetStringW(row,1,message);
+                          INT rc)
+{
+    MSIRECORD *row;
+    WCHAR *template;
+
+    template = msi_get_error_message(package->db, start ? MSIERR_INFO_ACTIONSTART : MSIERR_INFO_ACTIONENDED);
+
+    row = MSI_CreateRecord(2);
+    if (!row) return;
+    MSI_RecordSetStringW(row, 0, template);
+    MSI_RecordSetStringW(row, 1, action);
+    MSI_RecordSetInteger(row, 2, start ? package->LastActionResult : rc);
     MSI_ProcessMessage(package, INSTALLMESSAGE_INFO, row);
     msiobj_release(&row->hdr);
+    msi_free(template);
+    if (!start) package->LastActionResult = rc;
 }
 
 enum parse_state
@@ -493,9 +500,6 @@ static UINT ITERATE_Actions(MSIRECORD *row, LPVOID param)
 
     msi_dialog_check_messages( NULL );
 
-    if (package->CurrentInstallState != ERROR_SUCCESS)
-        rc = package->CurrentInstallState;
-
     if (rc == ERROR_FUNCTION_NOT_CALLED)
         rc = ERROR_SUCCESS;
 
@@ -601,18 +605,42 @@ static UINT ACTION_ProcessUISequence(MSIPACKAGE *package)
 /********************************************************
  * ACTION helper functions and functions that perform the actions
  *******************************************************/
-static BOOL ACTION_HandleCustomAction( MSIPACKAGE *package, LPCWSTR action, UINT *rc, UINT script )
+static UINT ACTION_HandleCustomAction(MSIPACKAGE *package, LPCWSTR action, UINT script)
 {
-    BOOL ret=FALSE;
     UINT arc;
+    INT uirc;
 
+    uirc = ui_actionstart(package, action, NULL, NULL);
+    if (uirc == IDCANCEL)
+        return ERROR_INSTALL_USEREXIT;
+    ui_actioninfo(package, action, TRUE, 0);
     arc = ACTION_CustomAction( package, action, script );
-    if (arc != ERROR_CALL_NOT_IMPLEMENTED)
+    uirc = !arc;
+
+    if (arc == ERROR_FUNCTION_NOT_CALLED && needs_ui_sequence(package))
     {
-        *rc = arc;
-        ret = TRUE;
+        uirc = ACTION_ShowDialog(package, action);
+        switch (uirc)
+        {
+        case -1:
+            return ERROR_SUCCESS; /* stop immediately */
+        case 0: arc = ERROR_FUNCTION_NOT_CALLED; break;
+        case 1: arc = ERROR_SUCCESS; break;
+        case 2: arc = ERROR_INSTALL_USEREXIT; break;
+        case 3: arc = ERROR_INSTALL_FAILURE; break;
+        case 4: arc = ERROR_INSTALL_SUSPEND; break;
+        case 5: arc = ERROR_MORE_DATA; break;
+        case 6: arc = ERROR_INVALID_HANDLE_STATE; break;
+        case 7: arc = ERROR_INVALID_DATA; break;
+        case 8: arc = ERROR_INSTALL_ALREADY_RUNNING; break;
+        case 9: arc = ERROR_INSTALL_PACKAGE_REJECTED; break;
+        default: arc = ERROR_FUNCTION_FAILED; break;
+        }
     }
-    return ret;
+
+    ui_actioninfo(package, action, FALSE, uirc);
+
+    return arc;
 }
 
 MSICOMPONENT *msi_get_loaded_component( MSIPACKAGE *package, const WCHAR *Component )
@@ -718,41 +746,6 @@ void msi_ui_progress( MSIPACKAGE *package, int a, int b, int c, int d )
     msi_dialog_check_messages( NULL );
 }
 
-void msi_ui_actiondata( MSIPACKAGE *package, const WCHAR *action, MSIRECORD *record )
-{
-    static const WCHAR query[] =
-        {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
-         '`','A','c','t','i','o', 'n','T','e','x','t','`',' ',
-         'W','H','E','R','E',' ', '`','A','c','t','i','o','n','`',' ','=',' ','\'','%','s','\'',0};
-    WCHAR message[1024];
-    MSIRECORD *row = 0;
-    DWORD size;
-
-    if (!package->LastAction || strcmpW( package->LastAction, action ))
-    {
-        if (!(row = MSI_QueryGetRecord( package->db, query, action ))) return;
-
-        if (MSI_RecordIsNull( row, 3 ))
-        {
-            msiobj_release( &row->hdr );
-            return;
-        }
-        /* update the cached action format */
-        msi_free( package->ActionFormat );
-        package->ActionFormat = msi_dup_record_field( row, 3 );
-        msi_free( package->LastAction );
-        package->LastAction = strdupW( action );
-        msiobj_release( &row->hdr );
-    }
-    size = 1024;
-    MSI_RecordSetStringW( record, 0, package->ActionFormat );
-    MSI_FormatRecordW( package, record, message, &size );
-    row = MSI_CreateRecord( 1 );
-    MSI_RecordSetStringW( row, 1, message );
-    MSI_ProcessMessage( package, INSTALLMESSAGE_ACTIONDATA, row );
-    msiobj_release( &row->hdr );
-}
-
 INSTALLSTATE msi_get_component_action( MSIPACKAGE *package, MSICOMPONENT *comp )
 {
     if (!comp->Enabled)
@@ -807,7 +800,7 @@ static UINT ITERATE_CreateFolders(MSIRECORD *row, LPVOID param)
 
     uirow = MSI_CreateRecord(1);
     MSI_RecordSetStringW(uirow, 1, dir);
-    msi_ui_actiondata(package, szCreateFolders, uirow);
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release(&uirow->hdr);
 
     full_path = msi_get_target_folder( package, dir );
@@ -895,7 +888,7 @@ static UINT ITERATE_RemoveFolders( MSIRECORD *row, LPVOID param )
 
     uirow = MSI_CreateRecord( 1 );
     MSI_RecordSetStringW( uirow, 1, dir );
-    msi_ui_actiondata( package, szRemoveFolders, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     folder = msi_get_loaded_folder( package, dir );
@@ -1551,7 +1544,7 @@ static UINT ACTION_CostInitialize(MSIPACKAGE *package)
 static UINT execute_script_action( MSIPACKAGE *package, UINT script, UINT index )
 {
     const WCHAR *action = package->script->Actions[script][index];
-    ui_actionstart( package, action );
+    ui_actionstart( package, action, NULL, NULL );
     TRACE("executing %s\n", debugstr_w(action));
     return ACTION_PerformAction( package, action, script );
 }
@@ -2956,7 +2949,7 @@ static UINT ITERATE_WriteRegistryValues(MSIRECORD *row, LPVOID param)
     MSI_RecordSetStringW(uirow,1,uikey);
     if (type == REG_SZ || type == REG_EXPAND_SZ)
         MSI_RecordSetStringW(uirow, 3, (LPWSTR)new_value);
-    msi_ui_actiondata( package, szWriteRegistryValues, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free(new_value);
@@ -3110,7 +3103,7 @@ static UINT ITERATE_RemoveRegistryValuesOnUninstall( MSIRECORD *row, LPVOID para
     uirow = MSI_CreateRecord( 2 );
     MSI_RecordSetStringW( uirow, 1, ui_key_str );
     MSI_RecordSetStringW( uirow, 2, deformated_name );
-    msi_ui_actiondata( package, szRemoveRegistryValues, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free( ui_key_str );
@@ -3173,7 +3166,7 @@ static UINT ITERATE_RemoveRegistryValuesOnInstall( MSIRECORD *row, LPVOID param
     uirow = MSI_CreateRecord( 2 );
     MSI_RecordSetStringW( uirow, 1, ui_key_str );
     MSI_RecordSetStringW( uirow, 2, deformated_name );
-    msi_ui_actiondata( package, szRemoveRegistryValues, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free( ui_key_str );
@@ -3632,7 +3625,7 @@ static UINT ACTION_ProcessComponents(MSIPACKAGE *package)
         MSI_RecordSetStringW(uirow,1,package->ProductCode);
         MSI_RecordSetStringW(uirow,2,comp->ComponentId);
         MSI_RecordSetStringW(uirow,3,comp->FullKeypath);
-        msi_ui_actiondata( package, szProcessComponents, uirow );
+        MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
         msiobj_release( &uirow->hdr );
     }
     return ERROR_SUCCESS;
@@ -3726,7 +3719,7 @@ static UINT ITERATE_RegisterTypeLibraries(MSIRECORD *row, LPVOID param)
         TRACE("component has no key path\n");
         return ERROR_SUCCESS;
     }
-    msi_ui_actiondata( package, szRegisterTypeLibraries, row );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, row);
 
     module = LoadLibraryExW( file->TargetPath, NULL, LOAD_LIBRARY_AS_DATAFILE );
     if (module)
@@ -3817,7 +3810,7 @@ static UINT ITERATE_UnregisterTypeLibraries( MSIRECORD *row, LPVOID param )
         TRACE("component not scheduled for removal %s\n", debugstr_w(component));
         return ERROR_SUCCESS;
     }
-    msi_ui_actiondata( package, szUnregisterTypeLibraries, row );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, row);
 
     guid = MSI_RecordGetString( row, 1 );
     CLSIDFromString( guid, &libid );
@@ -3931,7 +3924,7 @@ static UINT ITERATE_CreateShortcuts(MSIRECORD *row, LPVOID param)
         TRACE("component not scheduled for installation %s\n", debugstr_w(component));
         return ERROR_SUCCESS;
     }
-    msi_ui_actiondata( package, szCreateShortcuts, row );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, row);
 
     res = CoCreateInstance( &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
                     &IID_IShellLinkW, (LPVOID *) &sl );
@@ -4062,7 +4055,7 @@ static UINT ITERATE_RemoveShortcuts( MSIRECORD *row, LPVOID param )
         TRACE("component not scheduled for removal %s\n", debugstr_w(component));
         return ERROR_SUCCESS;
     }
-    msi_ui_actiondata( package, szRemoveShortcuts, row );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, row);
 
     link_file = get_link_file( package, row );
 
@@ -4493,7 +4486,7 @@ static UINT ACTION_PublishProduct(MSIPACKAGE *package)
 end:
     uirow = MSI_CreateRecord( 1 );
     MSI_RecordSetStringW( uirow, 1, package->ProductCode );
-    msi_ui_actiondata( package, szPublishProduct, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     RegCloseKey(hukey);
@@ -4599,7 +4592,7 @@ static UINT ITERATE_WriteIniValues(MSIRECORD *row, LPVOID param)
     MSI_RecordSetStringW(uirow,2,deformated_section);
     MSI_RecordSetStringW(uirow,3,deformated_key);
     MSI_RecordSetStringW(uirow,4,deformated_value);
-    msi_ui_actiondata( package, szWriteIniValues, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free(fullname);
@@ -4679,7 +4672,7 @@ static UINT ITERATE_RemoveIniValuesOnUninstall( MSIRECORD *row, LPVOID param )
     MSI_RecordSetStringW( uirow, 2, deformated_section );
     MSI_RecordSetStringW( uirow, 3, deformated_key );
     MSI_RecordSetStringW( uirow, 4, deformated_value );
-    msi_ui_actiondata( package, szRemoveIniValues, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free( deformated_key );
@@ -4740,7 +4733,7 @@ static UINT ITERATE_RemoveIniValuesOnInstall( MSIRECORD *row, LPVOID param )
     MSI_RecordSetStringW( uirow, 2, deformated_section );
     MSI_RecordSetStringW( uirow, 3, deformated_key );
     MSI_RecordSetStringW( uirow, 4, deformated_value );
-    msi_ui_actiondata( package, szRemoveIniValues, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free( deformated_key );
@@ -4781,17 +4774,10 @@ static UINT ACTION_RemoveIniValues( MSIPACKAGE *package )
 
 static void register_dll( const WCHAR *dll, BOOL unregister )
 {
-#ifdef __REACTOS__
-    static const WCHAR regW[] =
-        {'r','e','g','s','v','r','3','2','.','e','x','e',' ','/','s',' ','\"','%','s','\"',0};
-    static const WCHAR unregW[] =
-        {'r','e','g','s','v','r','3','2','.','e','x','e',' ','/','s',' ','/','u',' ','\"','%','s','\"',0};
-#else /* __REACTOS__ */
     static const WCHAR regW[] =
         {'r','e','g','s','v','r','3','2','.','e','x','e',' ','\"','%','s','\"',0};
     static const WCHAR unregW[] =
         {'r','e','g','s','v','r','3','2','.','e','x','e',' ','/','u',' ','\"','%','s','\"',0};
-#endif /* __REACTOS__ */
     PROCESS_INFORMATION pi;
     STARTUPINFOW si;
     WCHAR *cmd;
@@ -4838,7 +4824,7 @@ static UINT ITERATE_SelfRegModules(MSIRECORD *row, LPVOID param)
     uirow = MSI_CreateRecord( 2 );
     MSI_RecordSetStringW( uirow, 1, file->File );
     MSI_RecordSetStringW( uirow, 2, file->Component->Directory );
-    msi_ui_actiondata( package, szSelfRegModules, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     return ERROR_SUCCESS;
@@ -4888,7 +4874,7 @@ static UINT ITERATE_SelfUnregModules( MSIRECORD *row, LPVOID param )
     uirow = MSI_CreateRecord( 2 );
     MSI_RecordSetStringW( uirow, 1, file->File );
     MSI_RecordSetStringW( uirow, 2, file->Component->Directory );
-    msi_ui_actiondata( package, szSelfUnregModules, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     return ERROR_SUCCESS;
@@ -5008,7 +4994,7 @@ static UINT ACTION_PublishFeatures(MSIPACKAGE *package)
         /* the UI chunk */
         uirow = MSI_CreateRecord( 1 );
         MSI_RecordSetStringW( uirow, 1, feature->Feature );
-        msi_ui_actiondata( package, szPublishFeatures, uirow );
+        MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
         msiobj_release( &uirow->hdr );
         /* FIXME: call msi_ui_progress? */
     }
@@ -5045,7 +5031,7 @@ static UINT msi_unpublish_feature(MSIPACKAGE *package, MSIFEATURE *feature)
 
     uirow = MSI_CreateRecord( 1 );
     MSI_RecordSetStringW( uirow, 1, feature->Feature );
-    msi_ui_actiondata( package, szUnpublishFeatures, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     return ERROR_SUCCESS;
@@ -5245,7 +5231,7 @@ static UINT ACTION_RegisterProduct(MSIPACKAGE *package)
 done:
     uirow = MSI_CreateRecord( 1 );
     MSI_RecordSetStringW( uirow, 1, package->ProductCode );
-    msi_ui_actiondata( package, szRegisterProduct, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     RegCloseKey(hkey);
@@ -5456,43 +5442,6 @@ UINT ACTION_ForceReboot(MSIPACKAGE *package)
     return ERROR_INSTALL_SUSPEND;
 }
 
-WCHAR *msi_build_error_string( MSIPACKAGE *package, UINT error, DWORD count, ... )
-{
-    static const WCHAR query[] =
-        {'S','E','L','E','C','T',' ','`','M','e','s','s','a','g','e','`',' ',
-         'F','R','O','M',' ','`','E','r','r','o','r','`',' ','W','H','E','R','E',' ',
-         '`','E','r','r','o','r','`',' ','=',' ','%','i',0};
-    MSIRECORD *rec, *row;
-    DWORD i, size = 0;
-    va_list va;
-    const WCHAR *str;
-    WCHAR *data;
-
-    if (!(row = MSI_QueryGetRecord( package->db, query, error ))) return 0;
-
-    rec = MSI_CreateRecord( count + 2 );
-    str = MSI_RecordGetString( row, 1 );
-    MSI_RecordSetStringW( rec, 0, str );
-    msiobj_release( &row->hdr );
-    MSI_RecordSetInteger( rec, 1, error );
-
-    va_start( va, count );
-    for (i = 0; i < count; i++)
-    {
-        str = va_arg( va, const WCHAR *);
-        MSI_RecordSetStringW( rec, i + 2, str );
-    }
-    va_end( va );
-
-    MSI_FormatRecordW( package, rec, NULL, &size );
-    size++;
-    data = msi_alloc( size * sizeof(WCHAR) );
-    if (size > 1) MSI_FormatRecordW( package, rec, data, &size );
-    else data[0] = 0;
-    msiobj_release( &rec->hdr );
-    return data;
-}
-
 static UINT ACTION_ResolveSource(MSIPACKAGE* package)
 {
     DWORD attrib;
@@ -5510,7 +5459,8 @@ static UINT ACTION_ResolveSource(MSIPACKAGE* package)
     attrib = GetFileAttributesW(package->db->path);
     if (attrib == INVALID_FILE_ATTRIBUTES)
     {
-        LPWSTR prompt, msg;
+        MSIRECORD *record;
+        LPWSTR prompt;
         DWORD size = 0;
 
         rc = MsiSourceListGetInfoW(package->ProductCode, NULL, 
@@ -5526,19 +5476,18 @@ static UINT ACTION_ResolveSource(MSIPACKAGE* package)
         else
             prompt = strdupW(package->db->path);
 
-        msg = msi_build_error_string(package, 1302, 1, prompt);
+        record = MSI_CreateRecord(2);
+        MSI_RecordSetInteger(record, 1, MSIERR_INSERTDISK);
+        MSI_RecordSetStringW(record, 2, prompt);
         msi_free(prompt);
         while(attrib == INVALID_FILE_ATTRIBUTES)
         {
-            rc = MessageBoxW(NULL, msg, NULL, MB_OKCANCEL);
+            MSI_RecordSetStringW(record, 0, NULL);
+            rc = MSI_ProcessMessage(package, INSTALLMESSAGE_ERROR, record);
             if (rc == IDCANCEL)
-            {
-                msi_free(msg);
                 return ERROR_INSTALL_USEREXIT;
-            }
             attrib = GetFileAttributesW(package->db->path);
         }
-        msi_free(msg);
         rc = ERROR_SUCCESS;
     }
     else
@@ -5595,7 +5544,7 @@ static UINT ACTION_RegisterUser(MSIPACKAGE *package)
 end:
     uirow = MSI_CreateRecord( 1 );
     MSI_RecordSetStringW( uirow, 1, productid );
-    msi_ui_actiondata( package, szRegisterUser, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free(productid);
@@ -5735,7 +5684,7 @@ end:
     uirow = MSI_CreateRecord( 2 );
     MSI_RecordSetStringW( uirow, 1, compgroupid );
     MSI_RecordSetStringW( uirow, 2, qualifier);
-    msi_ui_actiondata( package, szPublishComponents, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
     /* FIXME: call ui_progress? */
 
@@ -5812,7 +5761,7 @@ static UINT ITERATE_UnpublishComponent( MSIRECORD *rec, LPVOID param )
     uirow = MSI_CreateRecord( 2 );
     MSI_RecordSetStringW( uirow, 1, compgroupid );
     MSI_RecordSetStringW( uirow, 2, qualifier );
-    msi_ui_actiondata( package, szUnpublishComponents, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     return ERROR_SUCCESS;
@@ -6124,7 +6073,7 @@ done:
     uirow = MSI_CreateRecord( 2 );
     MSI_RecordSetStringW( uirow, 1, display_name );
     MSI_RecordSetStringW( uirow, 2, name );
-    msi_ui_actiondata( package, szStartServices, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     if (service) CloseServiceHandle(service);
@@ -6292,7 +6241,7 @@ done:
     uirow = MSI_CreateRecord( 2 );
     MSI_RecordSetStringW( uirow, 1, display_name );
     MSI_RecordSetStringW( uirow, 2, name );
-    msi_ui_actiondata( package, szStopServices, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free( name );
@@ -6372,7 +6321,7 @@ done:
     uirow = MSI_CreateRecord( 2 );
     MSI_RecordSetStringW( uirow, 1, display_name );
     MSI_RecordSetStringW( uirow, 2, name );
-    msi_ui_actiondata( package, szDeleteServices, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     if (service) CloseServiceHandle( service );
@@ -6490,7 +6439,7 @@ static UINT ITERATE_InstallODBCDriver( MSIRECORD *rec, LPVOID param )
     MSI_RecordSetStringW( uirow, 1, desc );
     MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
     MSI_RecordSetStringW( uirow, 3, driver_file->Component->Directory );
-    msi_ui_actiondata( package, szInstallODBC, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free(driver);
@@ -6578,7 +6527,7 @@ static UINT ITERATE_InstallODBCTranslator( MSIRECORD *rec, LPVOID param )
     MSI_RecordSetStringW( uirow, 1, desc );
     MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
     MSI_RecordSetStringW( uirow, 3, translator_file->Component->Directory );
-    msi_ui_actiondata( package, szInstallODBC, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free(translator);
@@ -6639,7 +6588,7 @@ static UINT ITERATE_InstallODBCDataSource( MSIRECORD *rec, LPVOID param )
     MSI_RecordSetStringW( uirow, 1, desc );
     MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
     MSI_RecordSetInteger( uirow, 3, request );
-    msi_ui_actiondata( package, szInstallODBC, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free(attrs);
@@ -6721,7 +6670,7 @@ static UINT ITERATE_RemoveODBCDriver( MSIRECORD *rec, LPVOID param )
     uirow = MSI_CreateRecord( 2 );
     MSI_RecordSetStringW( uirow, 1, desc );
     MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
-    msi_ui_actiondata( package, szRemoveODBC, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     return ERROR_SUCCESS;
@@ -6760,7 +6709,7 @@ static UINT ITERATE_RemoveODBCTranslator( MSIRECORD *rec, LPVOID param )
     uirow = MSI_CreateRecord( 2 );
     MSI_RecordSetStringW( uirow, 1, desc );
     MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
-    msi_ui_actiondata( package, szRemoveODBC, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     return ERROR_SUCCESS;
@@ -6819,7 +6768,7 @@ static UINT ITERATE_RemoveODBCDataSource( MSIRECORD *rec, LPVOID param )
     MSI_RecordSetStringW( uirow, 1, desc );
     MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
     MSI_RecordSetInteger( uirow, 3, request );
-    msi_ui_actiondata( package, szRemoveODBC, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     return ERROR_SUCCESS;
@@ -7167,7 +7116,7 @@ done:
     MSI_RecordSetStringW( uirow, 1, name );
     MSI_RecordSetStringW( uirow, 2, newval );
     MSI_RecordSetInteger( uirow, 3, action );
-    msi_ui_actiondata( package, szWriteEnvironmentStrings, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     if (env) RegCloseKey(env);
@@ -7310,7 +7259,7 @@ done:
     MSI_RecordSetStringW( uirow, 1, name );
     MSI_RecordSetStringW( uirow, 2, value );
     MSI_RecordSetInteger( uirow, 3, action );
-    msi_ui_actiondata( package, szRemoveEnvironmentStrings, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     if (env) RegCloseKey( env );
@@ -7382,7 +7331,7 @@ static UINT ACTION_AllocateRegistrySpace( MSIPACKAGE *package )
 
     uirow = MSI_CreateRecord( 1 );
     MSI_RecordSetInteger( uirow, 1, space );
-    msi_ui_actiondata( package, szAllocateRegistrySpace, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     return ERROR_SUCCESS;
@@ -7681,93 +7630,95 @@ static UINT ACTION_InstallSFPCatalogFile( MSIPACKAGE *package )
 static const struct
 {
     const WCHAR *action;
+    const UINT description;
+    const UINT template;
     UINT (*handler)(MSIPACKAGE *);
     const WCHAR *action_rollback;
 }
 StandardActions[] =
 {
-    { szAllocateRegistrySpace, ACTION_AllocateRegistrySpace, NULL },
-    { szAppSearch, ACTION_AppSearch, NULL },
-    { szBindImage, ACTION_BindImage, NULL },
-    { szCCPSearch, ACTION_CCPSearch, NULL },
-    { szCostFinalize, ACTION_CostFinalize, NULL },
-    { szCostInitialize, ACTION_CostInitialize, NULL },
-    { szCreateFolders, ACTION_CreateFolders, szRemoveFolders },
-    { szCreateShortcuts, ACTION_CreateShortcuts, szRemoveShortcuts },
-    { szDeleteServices, ACTION_DeleteServices, szInstallServices },
-    { szDisableRollback, ACTION_DisableRollback, NULL },
-    { szDuplicateFiles, ACTION_DuplicateFiles, szRemoveDuplicateFiles },
-    { szExecuteAction, ACTION_ExecuteAction, NULL },
-    { szFileCost, ACTION_FileCost, NULL },
-    { szFindRelatedProducts, ACTION_FindRelatedProducts, NULL },
-    { szForceReboot, ACTION_ForceReboot, NULL },
-    { szInstallAdminPackage, ACTION_InstallAdminPackage, NULL },
-    { szInstallExecute, ACTION_InstallExecute, NULL },
-    { szInstallExecuteAgain, ACTION_InstallExecute, NULL },
-    { szInstallFiles, ACTION_InstallFiles, szRemoveFiles },
-    { szInstallFinalize, ACTION_InstallFinalize, NULL },
-    { szInstallInitialize, ACTION_InstallInitialize, NULL },
-    { szInstallODBC, ACTION_InstallODBC, szRemoveODBC },
-    { szInstallServices, ACTION_InstallServices, szDeleteServices },
-    { szInstallSFPCatalogFile, ACTION_InstallSFPCatalogFile, NULL },
-    { szInstallValidate, ACTION_InstallValidate, NULL },
-    { szIsolateComponents, ACTION_IsolateComponents, NULL },
-    { szLaunchConditions, ACTION_LaunchConditions, NULL },
-    { szMigrateFeatureStates, ACTION_MigrateFeatureStates, NULL },
-    { szMoveFiles, ACTION_MoveFiles, NULL },
-    { szMsiPublishAssemblies, ACTION_MsiPublishAssemblies, szMsiUnpublishAssemblies },
-    { szMsiUnpublishAssemblies, ACTION_MsiUnpublishAssemblies, szMsiPublishAssemblies },
-    { szPatchFiles, ACTION_PatchFiles, NULL },
-    { szProcessComponents, ACTION_ProcessComponents, szProcessComponents },
-    { szPublishComponents, ACTION_PublishComponents, szUnpublishComponents },
-    { szPublishFeatures, ACTION_PublishFeatures, szUnpublishFeatures },
-    { szPublishProduct, ACTION_PublishProduct, szUnpublishProduct },
-    { szRegisterClassInfo, ACTION_RegisterClassInfo, szUnregisterClassInfo },
-    { szRegisterComPlus, ACTION_RegisterComPlus, szUnregisterComPlus },
-    { szRegisterExtensionInfo, ACTION_RegisterExtensionInfo, szUnregisterExtensionInfo },
-    { szRegisterFonts, ACTION_RegisterFonts, szUnregisterFonts },
-    { szRegisterMIMEInfo, ACTION_RegisterMIMEInfo, szUnregisterMIMEInfo },
-    { szRegisterProduct, ACTION_RegisterProduct, NULL },
-    { szRegisterProgIdInfo, ACTION_RegisterProgIdInfo, szUnregisterProgIdInfo },
-    { szRegisterTypeLibraries, ACTION_RegisterTypeLibraries, szUnregisterTypeLibraries },
-    { szRegisterUser, ACTION_RegisterUser, NULL },
-    { szRemoveDuplicateFiles, ACTION_RemoveDuplicateFiles, szDuplicateFiles },
-    { szRemoveEnvironmentStrings, ACTION_RemoveEnvironmentStrings, szWriteEnvironmentStrings },
-    { szRemoveExistingProducts, ACTION_RemoveExistingProducts, NULL },
-    { szRemoveFiles, ACTION_RemoveFiles, szInstallFiles },
-    { szRemoveFolders, ACTION_RemoveFolders, szCreateFolders },
-    { szRemoveIniValues, ACTION_RemoveIniValues, szWriteIniValues },
-    { szRemoveODBC, ACTION_RemoveODBC, szInstallODBC },
-    { szRemoveRegistryValues, ACTION_RemoveRegistryValues, szWriteRegistryValues },
-    { szRemoveShortcuts, ACTION_RemoveShortcuts, szCreateShortcuts },
-    { szResolveSource, ACTION_ResolveSource, NULL },
-    { szRMCCPSearch, ACTION_RMCCPSearch, NULL },
-    { szScheduleReboot, ACTION_ScheduleReboot, NULL },
-    { szSelfRegModules, ACTION_SelfRegModules, szSelfUnregModules },
-    { szSelfUnregModules, ACTION_SelfUnregModules, szSelfRegModules },
-    { szSetODBCFolders, ACTION_SetODBCFolders, NULL },
-    { szStartServices, ACTION_StartServices, szStopServices },
-    { szStopServices, ACTION_StopServices, szStartServices },
-    { szUnpublishComponents, ACTION_UnpublishComponents, szPublishComponents },
-    { szUnpublishFeatures, ACTION_UnpublishFeatures, szPublishFeatures },
-    { szUnpublishProduct, ACTION_UnpublishProduct, NULL }, /* for rollback only */
-    { szUnregisterClassInfo, ACTION_UnregisterClassInfo, szRegisterClassInfo },
-    { szUnregisterComPlus, ACTION_UnregisterComPlus, szRegisterComPlus },
-    { szUnregisterExtensionInfo, ACTION_UnregisterExtensionInfo, szRegisterExtensionInfo },
-    { szUnregisterFonts, ACTION_UnregisterFonts, szRegisterFonts },
-    { szUnregisterMIMEInfo, ACTION_UnregisterMIMEInfo, szRegisterMIMEInfo },
-    { szUnregisterProgIdInfo, ACTION_UnregisterProgIdInfo, szRegisterProgIdInfo },
-    { szUnregisterTypeLibraries, ACTION_UnregisterTypeLibraries, szRegisterTypeLibraries },
-    { szValidateProductID, ACTION_ValidateProductID, NULL },
-    { szWriteEnvironmentStrings, ACTION_WriteEnvironmentStrings, szRemoveEnvironmentStrings },
-    { szWriteIniValues, ACTION_WriteIniValues, szRemoveIniValues },
-    { szWriteRegistryValues, ACTION_WriteRegistryValues, szRemoveRegistryValues },
-    { NULL, NULL, NULL }
+    { szAllocateRegistrySpace, IDS_DESC_ALLOCATEREGISTRYSPACE, IDS_TEMP_ALLOCATEREGISTRYSPACE, ACTION_AllocateRegistrySpace, NULL },
+    { szAppSearch, IDS_DESC_APPSEARCH, IDS_TEMP_APPSEARCH, ACTION_AppSearch, NULL },
+    { szBindImage, IDS_DESC_BINDIMAGE, IDS_TEMP_BINDIMAGE, ACTION_BindImage, NULL },
+    { szCCPSearch, IDS_DESC_CCPSEARCH, 0, ACTION_CCPSearch, NULL },
+    { szCostFinalize, IDS_DESC_COSTFINALIZE, 0, ACTION_CostFinalize, NULL },
+    { szCostInitialize, IDS_DESC_COSTINITIALIZE, 0, ACTION_CostInitialize, NULL },
+    { szCreateFolders, IDS_DESC_CREATEFOLDERS, IDS_TEMP_CREATEFOLDERS, ACTION_CreateFolders, szRemoveFolders },
+    { szCreateShortcuts, IDS_DESC_CREATESHORTCUTS, IDS_TEMP_CREATESHORTCUTS, ACTION_CreateShortcuts, szRemoveShortcuts },
+    { szDeleteServices, IDS_DESC_DELETESERVICES, IDS_TEMP_DELETESERVICES, ACTION_DeleteServices, szInstallServices },
+    { szDisableRollback, 0, 0, ACTION_DisableRollback, NULL },
+    { szDuplicateFiles, IDS_DESC_DUPLICATEFILES, IDS_TEMP_DUPLICATEFILES, ACTION_DuplicateFiles, szRemoveDuplicateFiles },
+    { szExecuteAction, 0, 0, ACTION_ExecuteAction, NULL },
+    { szFileCost, IDS_DESC_FILECOST, 0, ACTION_FileCost, NULL },
+    { szFindRelatedProducts, IDS_DESC_FINDRELATEDPRODUCTS, IDS_TEMP_FINDRELATEDPRODUCTS, ACTION_FindRelatedProducts, NULL },
+    { szForceReboot, 0, 0, ACTION_ForceReboot, NULL },
+    { szInstallAdminPackage, IDS_DESC_INSTALLADMINPACKAGE, IDS_TEMP_INSTALLADMINPACKAGE, ACTION_InstallAdminPackage, NULL },
+    { szInstallExecute, 0, 0, ACTION_InstallExecute, NULL },
+    { szInstallExecuteAgain, 0, 0, ACTION_InstallExecute, NULL },
+    { szInstallFiles, IDS_DESC_INSTALLFILES, IDS_TEMP_INSTALLFILES, ACTION_InstallFiles, szRemoveFiles },
+    { szInstallFinalize, 0, 0, ACTION_InstallFinalize, NULL },
+    { szInstallInitialize, 0, 0, ACTION_InstallInitialize, NULL },
+    { szInstallODBC, IDS_DESC_INSTALLODBC, 0, ACTION_InstallODBC, szRemoveODBC },
+    { szInstallServices, IDS_DESC_INSTALLSERVICES, IDS_TEMP_INSTALLSERVICES, ACTION_InstallServices, szDeleteServices },
+    { szInstallSFPCatalogFile, IDS_DESC_INSTALLSFPCATALOGFILE, IDS_TEMP_INSTALLSFPCATALOGFILE, ACTION_InstallSFPCatalogFile, NULL },
+    { szInstallValidate, IDS_DESC_INSTALLVALIDATE, 0, ACTION_InstallValidate, NULL },
+    { szIsolateComponents, 0, 0, ACTION_IsolateComponents, NULL },
+    { szLaunchConditions, IDS_DESC_LAUNCHCONDITIONS, 0, ACTION_LaunchConditions, NULL },
+    { szMigrateFeatureStates, IDS_DESC_MIGRATEFEATURESTATES, IDS_TEMP_MIGRATEFEATURESTATES, ACTION_MigrateFeatureStates, NULL },
+    { szMoveFiles, IDS_DESC_MOVEFILES, IDS_TEMP_MOVEFILES, ACTION_MoveFiles, NULL },
+    { szMsiPublishAssemblies, IDS_DESC_MSIPUBLISHASSEMBLIES, IDS_TEMP_MSIPUBLISHASSEMBLIES, ACTION_MsiPublishAssemblies, szMsiUnpublishAssemblies },
+    { szMsiUnpublishAssemblies, IDS_DESC_MSIUNPUBLISHASSEMBLIES, IDS_TEMP_MSIUNPUBLISHASSEMBLIES, ACTION_MsiUnpublishAssemblies, szMsiPublishAssemblies },
+    { szPatchFiles, IDS_DESC_PATCHFILES, IDS_TEMP_PATCHFILES, ACTION_PatchFiles, NULL },
+    { szProcessComponents, IDS_DESC_PROCESSCOMPONENTS, 0, ACTION_ProcessComponents, szProcessComponents },
+    { szPublishComponents, IDS_DESC_PUBLISHCOMPONENTS, IDS_TEMP_PUBLISHCOMPONENTS, ACTION_PublishComponents, szUnpublishComponents },
+    { szPublishFeatures, IDS_DESC_PUBLISHFEATURES, IDS_TEMP_PUBLISHFEATURES, ACTION_PublishFeatures, szUnpublishFeatures },
+    { szPublishProduct, IDS_DESC_PUBLISHPRODUCT, 0, ACTION_PublishProduct, szUnpublishProduct },
+    { szRegisterClassInfo, IDS_DESC_REGISTERCLASSINFO, IDS_TEMP_REGISTERCLASSINFO, ACTION_RegisterClassInfo, szUnregisterClassInfo },
+    { szRegisterComPlus, IDS_DESC_REGISTERCOMPLUS, IDS_TEMP_REGISTERCOMPLUS, ACTION_RegisterComPlus, szUnregisterComPlus },
+    { szRegisterExtensionInfo, IDS_DESC_REGISTEREXTENSIONINFO, 0, ACTION_RegisterExtensionInfo, szUnregisterExtensionInfo },
+    { szRegisterFonts, IDS_DESC_REGISTERFONTS, IDS_TEMP_REGISTERFONTS, ACTION_RegisterFonts, szUnregisterFonts },
+    { szRegisterMIMEInfo, IDS_DESC_REGISTERMIMEINFO, IDS_TEMP_REGISTERMIMEINFO, ACTION_RegisterMIMEInfo, szUnregisterMIMEInfo },
+    { szRegisterProduct, IDS_DESC_REGISTERPRODUCT, 0, ACTION_RegisterProduct, NULL },
+    { szRegisterProgIdInfo, IDS_DESC_REGISTERPROGIDINFO, IDS_TEMP_REGISTERPROGIDINFO, ACTION_RegisterProgIdInfo, szUnregisterProgIdInfo },
+    { szRegisterTypeLibraries, IDS_DESC_REGISTERTYPELIBRARIES, IDS_TEMP_REGISTERTYPELIBRARIES, ACTION_RegisterTypeLibraries, szUnregisterTypeLibraries },
+    { szRegisterUser, IDS_DESC_REGISTERUSER, 0, ACTION_RegisterUser, NULL },
+    { szRemoveDuplicateFiles, IDS_DESC_REMOVEDUPLICATEFILES, IDS_TEMP_REMOVEDUPLICATEFILES, ACTION_RemoveDuplicateFiles, szDuplicateFiles },
+    { szRemoveEnvironmentStrings, IDS_DESC_REMOVEENVIRONMENTSTRINGS, IDS_TEMP_REMOVEENVIRONMENTSTRINGS, ACTION_RemoveEnvironmentStrings, szWriteEnvironmentStrings },
+    { szRemoveExistingProducts, IDS_DESC_REMOVEEXISTINGPRODUCTS, IDS_TEMP_REMOVEEXISTINGPRODUCTS, ACTION_RemoveExistingProducts, NULL },
+    { szRemoveFiles, IDS_DESC_REMOVEFILES, IDS_TEMP_REMOVEFILES, ACTION_RemoveFiles, szInstallFiles },
+    { szRemoveFolders, IDS_DESC_REMOVEFOLDERS, IDS_TEMP_REMOVEFOLDERS, ACTION_RemoveFolders, szCreateFolders },
+    { szRemoveIniValues, IDS_DESC_REMOVEINIVALUES, IDS_TEMP_REMOVEINIVALUES, ACTION_RemoveIniValues, szWriteIniValues },
+    { szRemoveODBC, IDS_DESC_REMOVEODBC, 0, ACTION_RemoveODBC, szInstallODBC },
+    { szRemoveRegistryValues, IDS_DESC_REMOVEREGISTRYVALUES, IDS_TEMP_REMOVEREGISTRYVALUES, ACTION_RemoveRegistryValues, szWriteRegistryValues },
+    { szRemoveShortcuts, IDS_DESC_REMOVESHORTCUTS, IDS_TEMP_REMOVESHORTCUTS, ACTION_RemoveShortcuts, szCreateShortcuts },
+    { szResolveSource, 0, 0, ACTION_ResolveSource, NULL },
+    { szRMCCPSearch, IDS_DESC_RMCCPSEARCH, 0, ACTION_RMCCPSearch, NULL },
+    { szScheduleReboot, 0, 0, ACTION_ScheduleReboot, NULL },
+    { szSelfRegModules, IDS_DESC_SELFREGMODULES, IDS_TEMP_SELFREGMODULES, ACTION_SelfRegModules, szSelfUnregModules },
+    { szSelfUnregModules, IDS_DESC_SELFUNREGMODULES, IDS_TEMP_SELFUNREGMODULES, ACTION_SelfUnregModules, szSelfRegModules },
+    { szSetODBCFolders, IDS_DESC_SETODBCFOLDERS, 0, ACTION_SetODBCFolders, NULL },
+    { szStartServices, IDS_DESC_STARTSERVICES, IDS_TEMP_STARTSERVICES, ACTION_StartServices, szStopServices },
+    { szStopServices, IDS_DESC_STOPSERVICES, IDS_TEMP_STOPSERVICES, ACTION_StopServices, szStartServices },
+    { szUnpublishComponents, IDS_DESC_UNPUBLISHCOMPONENTS, IDS_TEMP_UNPUBLISHCOMPONENTS, ACTION_UnpublishComponents, szPublishComponents },
+    { szUnpublishFeatures, IDS_DESC_UNPUBLISHFEATURES, IDS_TEMP_UNPUBLISHFEATURES, ACTION_UnpublishFeatures, szPublishFeatures },
+    { szUnpublishProduct, IDS_DESC_UNPUBLISHPRODUCT, 0, ACTION_UnpublishProduct, NULL }, /* for rollback only */
+    { szUnregisterClassInfo, IDS_DESC_UNREGISTERCLASSINFO, IDS_TEMP_UNREGISTERCLASSINFO, ACTION_UnregisterClassInfo, szRegisterClassInfo },
+    { szUnregisterComPlus, IDS_DESC_UNREGISTERCOMPLUS, IDS_TEMP_UNREGISTERCOMPLUS, ACTION_UnregisterComPlus, szRegisterComPlus },
+    { szUnregisterExtensionInfo, IDS_DESC_UNREGISTEREXTENSIONINFO, IDS_TEMP_UNREGISTEREXTENSIONINFO, ACTION_UnregisterExtensionInfo, szRegisterExtensionInfo },
+    { szUnregisterFonts, IDS_DESC_UNREGISTERFONTS, IDS_TEMP_UNREGISTERFONTS, ACTION_UnregisterFonts, szRegisterFonts },
+    { szUnregisterMIMEInfo, IDS_DESC_UNREGISTERMIMEINFO, IDS_TEMP_UNREGISTERMIMEINFO, ACTION_UnregisterMIMEInfo, szRegisterMIMEInfo },
+    { szUnregisterProgIdInfo, IDS_DESC_UNREGISTERPROGIDINFO, IDS_TEMP_UNREGISTERPROGIDINFO, ACTION_UnregisterProgIdInfo, szRegisterProgIdInfo },
+    { szUnregisterTypeLibraries, IDS_DESC_UNREGISTERTYPELIBRARIES, IDS_TEMP_UNREGISTERTYPELIBRARIES, ACTION_UnregisterTypeLibraries, szRegisterTypeLibraries },
+    { szValidateProductID, 0, 0, ACTION_ValidateProductID, NULL },
+    { szWriteEnvironmentStrings, IDS_DESC_WRITEENVIRONMENTSTRINGS, IDS_TEMP_WRITEENVIRONMENTSTRINGS, ACTION_WriteEnvironmentStrings, szRemoveEnvironmentStrings },
+    { szWriteIniValues, IDS_DESC_WRITEINIVALUES, IDS_TEMP_WRITEINIVALUES, ACTION_WriteIniValues, szRemoveIniValues },
+    { szWriteRegistryValues, IDS_DESC_WRITEREGISTRYVALUES, IDS_TEMP_WRITEREGISTRYVALUES, ACTION_WriteRegistryValues, szRemoveRegistryValues },
+    { 0 }
 };
 
-static BOOL ACTION_HandleStandardAction( MSIPACKAGE *package, LPCWSTR action, UINT *rc )
+static UINT ACTION_HandleStandardAction(MSIPACKAGE *package, LPCWSTR action)
 {
-    BOOL ret = FALSE;
+    UINT rc = ERROR_FUNCTION_NOT_CALLED;
     UINT i;
 
     i = 0;
@@ -7775,12 +7726,19 @@ static BOOL ACTION_HandleStandardAction( MSIPACKAGE *package, LPCWSTR action, UI
     {
         if (!strcmpW( StandardActions[i].action, action ))
         {
-            ui_actionstart( package, action );
+            WCHAR description[100] = {0}, template[100] = {0};
+
+            if (StandardActions[i].description != 0)
+                LoadStringW(msi_hInstance, StandardActions[i].description, (LPWSTR)&description, 100);
+            if (StandardActions[i].template != 0)
+                LoadStringW(msi_hInstance, StandardActions[i].template, (LPWSTR)&template, 100);
+
+            ui_actionstart(package, action, description, template);
             if (StandardActions[i].handler)
             {
                 ui_actioninfo( package, action, TRUE, 0 );
-                *rc = StandardActions[i].handler( package );
-                ui_actioninfo( package, action, FALSE, *rc );
+                rc = StandardActions[i].handler( package );
+                ui_actioninfo( package, action, FALSE, !rc );
 
                 if (StandardActions[i].action_rollback && !package->need_rollback)
                 {
@@ -7791,58 +7749,46 @@ static BOOL ACTION_HandleStandardAction( MSIPACKAGE *package, LPCWSTR action, UI
             else
             {
                 FIXME("unhandled standard action %s\n", debugstr_w(action));
-                *rc = ERROR_SUCCESS;
+                rc = ERROR_SUCCESS;
             }
-            ret = TRUE;
             break;
         }
         i++;
     }
-    return ret;
+    return rc;
 }
 
 UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action, UINT script)
 {
-    UINT rc = ERROR_SUCCESS;
-    BOOL handled;
+    UINT rc;
 
     TRACE("Performing action (%s)\n", debugstr_w(action));
 
-    handled = ACTION_HandleStandardAction(package, action, &rc);
+    rc = ACTION_HandleStandardAction(package, action);
 
-    if (!handled)
-        handled = ACTION_HandleCustomAction(package, action, &rc, script);
+    if (rc == ERROR_FUNCTION_NOT_CALLED)
+        rc = ACTION_HandleCustomAction(package, action, script);
 
-    if (!handled)
-    {
+    if (rc == ERROR_FUNCTION_NOT_CALLED)
         WARN("unhandled msi action %s\n", debugstr_w(action));
-        rc = ERROR_FUNCTION_NOT_CALLED;
-    }
 
     return rc;
 }
 
 UINT ACTION_PerformUIAction(MSIPACKAGE *package, const WCHAR *action, UINT script)
 {
-    UINT rc = ERROR_SUCCESS;
-    BOOL handled = FALSE;
+    UINT rc;
 
     TRACE("Performing action (%s)\n", debugstr_w(action));
 
     package->action_progress_increment = 0;
-    handled = ACTION_HandleStandardAction(package, action, &rc);
-
-    if (!handled)
-        handled = ACTION_HandleCustomAction(package, action, &rc, script);
+    rc = ACTION_HandleStandardAction(package, action);
 
-    if( !handled && ACTION_DialogBox(package, action) == ERROR_SUCCESS )
-        handled = TRUE;
+    if (rc == ERROR_FUNCTION_NOT_CALLED)
+        rc = ACTION_HandleCustomAction(package, action, script);
 
-    if (!handled)
-    {
+    if (rc == ERROR_FUNCTION_NOT_CALLED)
         WARN("unhandled msi action %s\n", debugstr_w(action));
-        rc = ERROR_FUNCTION_NOT_CALLED;
-    }
 
     return rc;
 }
@@ -7903,6 +7849,42 @@ static UINT ACTION_PerformActionSequence(MSIPACKAGE *package, UINT seq)
     return rc;
 }
 
+DWORD WINAPI dummy_thread_proc(void *arg)
+{
+    struct dummy_thread *info = arg;
+    HRESULT hr;
+
+    hr = CoInitializeEx(0, COINIT_MULTITHREADED);
+    if (FAILED(hr)) ERR("CoInitializeEx failed %08x\n", hr);
+
+    SetEvent(info->started);
+    WaitForSingleObject(info->stopped, INFINITE);
+
+    CoUninitialize();
+    return 0;
+}
+
+static void start_dummy_thread(struct dummy_thread *info)
+{
+    if (!(info->started = CreateEventA(NULL, TRUE, FALSE, NULL))) return;
+    if (!(info->stopped = CreateEventA(NULL, TRUE, FALSE, NULL))) return;
+    if (!(info->thread  = CreateThread(NULL, 0, dummy_thread_proc, info, 0, NULL))) return;
+
+    WaitForSingleObject(info->started, INFINITE);
+}
+
+static void stop_dummy_thread(struct dummy_thread *info)
+{
+    if (info->thread)
+    {
+        SetEvent(info->stopped);
+        WaitForSingleObject(info->thread, INFINITE);
+        CloseHandle(info->thread);
+    }
+    if (info->started) CloseHandle(info->started);
+    if (info->stopped) CloseHandle(info->stopped);
+}
+
 /****************************************************
  * TOP level entry points
  *****************************************************/
@@ -7914,6 +7896,7 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
     static const WCHAR szAction[] = {'A','C','T','I','O','N',0};
     static const WCHAR szInstall[] = {'I','N','S','T','A','L','L',0};
     WCHAR *reinstall, *remove, *patch, *productcode;
+    struct dummy_thread thread_info = {NULL, NULL, NULL};
     BOOL ui_exists;
     UINT rc;
 
@@ -7979,6 +7962,8 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
     msi_adjust_privilege_properties( package );
     msi_set_context( package );
 
+    start_dummy_thread(&thread_info);
+
     productcode = msi_dup_property( package->db, szProductCode );
     if (strcmpiW( productcode, package->ProductCode ))
     {
@@ -8027,6 +8012,8 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
     /* finish up running custom actions */
     ACTION_FinishCustomActions(package);
 
+    stop_dummy_thread(&thread_info);
+
     if (package->need_rollback && !reinstall)
     {
         WARN("installation failed, running rollback script\n");
index b38bf27..e27fa74 100644 (file)
@@ -1104,7 +1104,7 @@ static UINT iterate_appsearch(MSIRECORD *row, LPVOID param)
     uirow = MSI_CreateRecord( 2 );
     MSI_RecordSetStringW( uirow, 1, propName );
     MSI_RecordSetStringW( uirow, 2, sigName );
-    msi_ui_actiondata( package, szAppSearch, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     return r;
index 84026c2..c652b30 100644 (file)
@@ -698,7 +698,7 @@ UINT ACTION_MsiPublishAssemblies( MSIPACKAGE *package )
 
         uirow = MSI_CreateRecord( 2 );
         MSI_RecordSetStringW( uirow, 2, assembly->display_name );
-        msi_ui_actiondata( package, szMsiPublishAssemblies, uirow );
+        MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
         msiobj_release( &uirow->hdr );
     }
     return ERROR_SUCCESS;
@@ -747,7 +747,7 @@ UINT ACTION_MsiUnpublishAssemblies( MSIPACKAGE *package )
 
         uirow = MSI_CreateRecord( 2 );
         MSI_RecordSetStringW( uirow, 2, assembly->display_name );
-        msi_ui_actiondata( package, szMsiPublishAssemblies, uirow );
+        MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
         msiobj_release( &uirow->hdr );
     }
     return ERROR_SUCCESS;
index 1b138eb..9b5794f 100644 (file)
@@ -893,7 +893,7 @@ UINT ACTION_RegisterClassInfo(MSIPACKAGE *package)
         
         uirow = MSI_CreateRecord(1);
         MSI_RecordSetStringW( uirow, 1, cls->clsid );
-        msi_ui_actiondata( package, szRegisterClassInfo, uirow );
+        MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
         msiobj_release(&uirow->hdr);
     }
     RegCloseKey(hkey);
@@ -985,7 +985,7 @@ UINT ACTION_UnregisterClassInfo( MSIPACKAGE *package )
 
         uirow = MSI_CreateRecord( 1 );
         MSI_RecordSetStringW( uirow, 1, cls->clsid );
-        msi_ui_actiondata( package, szUnregisterClassInfo, uirow );
+        MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
         msiobj_release( &uirow->hdr );
     }
     RegCloseKey( hkey );
@@ -1091,7 +1091,7 @@ UINT ACTION_RegisterProgIdInfo(MSIPACKAGE *package)
 
         uirow = MSI_CreateRecord( 1 );
         MSI_RecordSetStringW( uirow, 1, progid->ProgID );
-        msi_ui_actiondata( package, szRegisterProgIdInfo, uirow );
+        MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
         msiobj_release( &uirow->hdr );
     }
     return ERROR_SUCCESS;
@@ -1154,7 +1154,7 @@ UINT ACTION_UnregisterProgIdInfo( MSIPACKAGE *package )
 
         uirow = MSI_CreateRecord( 1 );
         MSI_RecordSetStringW( uirow, 1, progid->ProgID );
-        msi_ui_actiondata( package, szUnregisterProgIdInfo, uirow );
+        MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
         msiobj_release( &uirow->hdr );
     }
     return ERROR_SUCCESS;
@@ -1341,7 +1341,7 @@ UINT ACTION_RegisterExtensionInfo(MSIPACKAGE *package)
 
         uirow = MSI_CreateRecord(1);
         MSI_RecordSetStringW( uirow, 1, ext->Extension );
-        msi_ui_actiondata( package, szRegisterExtensionInfo, uirow );
+        MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
         msiobj_release(&uirow->hdr);
     }
     return ERROR_SUCCESS;
@@ -1424,7 +1424,7 @@ UINT ACTION_UnregisterExtensionInfo( MSIPACKAGE *package )
 
         uirow = MSI_CreateRecord( 1 );
         MSI_RecordSetStringW( uirow, 1, ext->Extension );
-        msi_ui_actiondata( package, szUnregisterExtensionInfo, uirow );
+        MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
         msiobj_release( &uirow->hdr );
     }
     return ERROR_SUCCESS;
@@ -1479,7 +1479,7 @@ UINT ACTION_RegisterMIMEInfo(MSIPACKAGE *package)
         uirow = MSI_CreateRecord( 2 );
         MSI_RecordSetStringW( uirow, 1, mt->ContentType );
         MSI_RecordSetStringW( uirow, 2, mt->suffix );
-        msi_ui_actiondata( package, szRegisterMIMEInfo, uirow );
+        MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
         msiobj_release( &uirow->hdr );
     }
     return ERROR_SUCCESS;
@@ -1523,7 +1523,7 @@ UINT ACTION_UnregisterMIMEInfo( MSIPACKAGE *package )
         uirow = MSI_CreateRecord( 2 );
         MSI_RecordSetStringW( uirow, 1, mime->ContentType );
         MSI_RecordSetStringW( uirow, 2, mime->suffix );
-        msi_ui_actiondata( package, szUnregisterMIMEInfo, uirow );
+        MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
         msiobj_release( &uirow->hdr );
     }
     return ERROR_SUCCESS;
index 565feec..3dffb86 100644 (file)
@@ -1203,7 +1203,7 @@ UINT ACTION_CustomAction( MSIPACKAGE *package, LPCWSTR action, UINT script )
 
     row = MSI_QueryGetRecord( package->db, query, action );
     if (!row)
-        return ERROR_CALL_NOT_IMPLEMENTED;
+        return ERROR_FUNCTION_NOT_CALLED;
 
     type = MSI_RecordGetInteger(row,2);
     source = MSI_RecordGetString(row,3);
index b53762e..a94cebd 100644 (file)
@@ -768,8 +768,11 @@ static UINT MSI_DatabaseImport(MSIDATABASE *db, LPCWSTR folder, LPCWSTR file)
     lstrcatW( path, file );
 
     data = msi_read_text_archive( path, &len );
-    if (data == NULL)
-        return ERROR_BAD_PATHNAME;
+    if (!data)
+    {
+        msi_free(path);
+        return ERROR_FUNCTION_FAILED;
+    }
 
     ptr = data;
     msi_parse_line( &ptr, &columns, &num_columns, &len );
@@ -1988,16 +1991,8 @@ MSIDBSTATE WINAPI MsiGetDatabaseState( MSIHANDLE handle )
     db = msihandle2msiinfo( handle, MSIHANDLETYPE_DATABASE );
     if( !db )
     {
-        IWineMsiRemoteDatabase *remote_database;
-
-        remote_database = (IWineMsiRemoteDatabase *)msi_get_remote( handle );
-        if ( !remote_database )
-            return MSIDBSTATE_ERROR;
-
-        IWineMsiRemoteDatabase_Release( remote_database );
         WARN("MsiGetDatabaseState not allowed during a custom action!\n");
-
-        return MSIDBSTATE_READ;
+        return MSIDBSTATE_ERROR;
     }
 
     if (db->mode != MSIDBOPEN_READONLY )
index bed62fe..8b62bb0 100644 (file)
@@ -34,6 +34,7 @@ typedef struct msi_control_tag msi_control;
 typedef UINT (*msi_handler)( msi_dialog *, msi_control *, WPARAM );
 typedef void (*msi_update)( msi_dialog *, msi_control * );
 typedef UINT (*control_event_handler)( msi_dialog *, const WCHAR *, const WCHAR * );
+typedef UINT (*event_handler)( msi_dialog *, const WCHAR * );
 
 struct msi_control_tag
 {
@@ -79,6 +80,9 @@ struct msi_dialog_tag
     HWND hWndFocus;
     LPWSTR control_default;
     LPWSTR control_cancel;
+    event_handler pending_event;
+    LPWSTR pending_argument;
+    INT retval;
     WCHAR name[1];
 };
 
@@ -972,6 +976,16 @@ static UINT msi_dialog_button_handler( msi_dialog *dialog, msi_control *control,
     }
     r = MSI_IterateRecords( view, 0, msi_dialog_control_event, dialog );
     msiobj_release( &view->hdr );
+
+    /* dialog control events must be processed last regardless of ordering */
+    if (dialog->pending_event)
+    {
+        r = dialog->pending_event( dialog, dialog->pending_argument );
+
+        msi_free( dialog->pending_argument );
+        dialog->pending_event = NULL;
+        dialog->pending_argument = NULL;
+    }
     return r;
 }
 
@@ -3884,6 +3898,8 @@ static BOOL dialog_register_class( void )
 static msi_dialog *dialog_create( MSIPACKAGE *package, const WCHAR *name, msi_dialog *parent,
                                   control_event_handler event_handler )
 {
+    static const WCHAR szDialogCreated[] =
+        {'D','i','a','l','o','g',' ','c','r','e','a','t','e','d',0};
     MSIRECORD *rec = NULL;
     msi_dialog *dialog;
 
@@ -3897,7 +3913,6 @@ static msi_dialog *dialog_create( MSIPACKAGE *package, const WCHAR *name, msi_di
         return NULL;
     strcpyW( dialog->name, name );
     dialog->parent = parent;
-    msiobj_addref( &package->hdr );
     dialog->package = package;
     dialog->event_handler = event_handler;
     dialog->finished = 0;
@@ -3908,7 +3923,6 @@ static msi_dialog *dialog_create( MSIPACKAGE *package, const WCHAR *name, msi_di
     rec = msi_get_dialog_record( dialog );
     if( !rec )
     {
-        msiobj_release( &package->hdr );
         msi_free( dialog );
         return NULL;
     }
@@ -3917,6 +3931,13 @@ static msi_dialog *dialog_create( MSIPACKAGE *package, const WCHAR *name, msi_di
     dialog->control_cancel = strdupW( MSI_RecordGetString( rec, 10 ) );
     msiobj_release( &rec->hdr );
 
+    rec = MSI_CreateRecord(2);
+    if (!rec) return NULL;
+    MSI_RecordSetStringW(rec, 1, name);
+    MSI_RecordSetStringW(rec, 2, szDialogCreated);
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONSTART, rec);
+    msiobj_release(&rec->hdr);
+
     return dialog;
 }
 
@@ -4035,7 +4056,6 @@ void msi_dialog_destroy( msi_dialog *dialog )
 
     msi_free( dialog->control_default );
     msi_free( dialog->control_cancel );
-    msiobj_release( &dialog->package->hdr );
     dialog->package = NULL;
     msi_free( dialog );
 }
@@ -4061,109 +4081,6 @@ void msi_event_cleanup_all_subscriptions( MSIPACKAGE *package )
     }
 }
 
-static UINT error_dialog_handler( msi_dialog *dialog, const WCHAR *event, const WCHAR *argument )
-{
-    static const WCHAR end_dialog[] = {'E','n','d','D','i','a','l','o','g',0};
-    static const WCHAR error_abort[] = {'E','r','r','o','r','A','b','o','r','t',0};
-    static const WCHAR error_cancel[] = {'E','r','r','o','r','C','a','n','c','e','l',0};
-    static const WCHAR error_no[] = {'E','r','r','o','r','N','o',0};
-    static const WCHAR result_prop[] = {
-        'M','S','I','E','r','r','o','r','D','i','a','l','o','g','R','e','s','u','l','t',0
-    };
-
-    if ( strcmpW( event, end_dialog ) )
-        return ERROR_SUCCESS;
-
-    if ( !strcmpW( argument, error_abort ) || !strcmpW( argument, error_cancel ) ||
-         !strcmpW( argument, error_no ) )
-    {
-         msi_set_property( dialog->package->db, result_prop, error_abort, -1 );
-    }
-
-    msi_event_cleanup_all_subscriptions( dialog->package );
-    msi_dialog_end_dialog( dialog );
-
-    return ERROR_SUCCESS;
-}
-
-static UINT msi_error_dialog_set_error( MSIPACKAGE *package, LPWSTR error_dialog, LPWSTR error )
-{
-    MSIRECORD * row;
-
-    static const WCHAR update[] = 
-        {'U','P','D','A','T','E',' ','`','C','o','n','t','r','o','l','`',' ',
-         'S','E','T',' ','`','T','e','x','t','`',' ','=',' ','\'','%','s','\'',' ',
-         'W','H','E','R','E', ' ','`','D','i','a','l','o','g','_','`',' ','=',' ','\'','%','s','\'',' ',
-         'A','N','D',' ','`','C','o','n','t','r','o','l','`',' ','=',' ',
-         '\'','E','r','r','o','r','T','e','x','t','\'',0};
-
-    row = MSI_QueryGetRecord( package->db, update, error, error_dialog );
-    if (!row)
-        return ERROR_FUNCTION_FAILED;
-
-    msiobj_release(&row->hdr);
-    return ERROR_SUCCESS;
-}
-
-UINT msi_spawn_error_dialog( MSIPACKAGE *package, LPWSTR error_dialog, LPWSTR error )
-{
-    msi_dialog *dialog;
-    WCHAR result[MAX_PATH];
-    UINT r = ERROR_SUCCESS;
-    DWORD size = MAX_PATH;
-    int res;
-
-    static const WCHAR pn_prop[] = {'P','r','o','d','u','c','t','N','a','m','e',0};
-    static const WCHAR title_fmt[] = {'%','s',' ','W','a','r','n','i','n','g',0};
-    static const WCHAR error_abort[] = {'E','r','r','o','r','A','b','o','r','t',0};
-    static const WCHAR result_prop[] = {
-        'M','S','I','E','r','r','o','r','D','i','a','l','o','g','R','e','s','u','l','t',0
-    };
-
-    if ((package->ui_level & INSTALLUILEVEL_MASK) == INSTALLUILEVEL_NONE) return ERROR_SUCCESS;
-
-    if ( !error_dialog )
-    {
-        LPWSTR product_name = msi_dup_property( package->db, pn_prop );
-        WCHAR title[MAX_PATH];
-
-        sprintfW( title, title_fmt, product_name );
-        res = MessageBoxW( NULL, error, title, MB_OKCANCEL | MB_ICONWARNING );
-
-        msi_free( product_name );
-
-        if ( res == IDOK )
-            return ERROR_SUCCESS;
-        else
-            return ERROR_FUNCTION_FAILED;
-    }
-
-    r = msi_error_dialog_set_error( package, error_dialog, error );
-    if ( r != ERROR_SUCCESS )
-        return r;
-
-    dialog = dialog_create( package, error_dialog, package->dialog, error_dialog_handler );
-    if ( !dialog )
-        return ERROR_FUNCTION_FAILED;
-
-    dialog->finished = FALSE;
-    r = dialog_run_message_loop( dialog );
-    if ( r != ERROR_SUCCESS )
-        goto done;
-
-    r = msi_get_property( package->db, result_prop, result, &size );
-    if ( r != ERROR_SUCCESS)
-        r = ERROR_SUCCESS;
-
-    if ( !strcmpW( result, error_abort ) )
-        r = ERROR_FUNCTION_FAILED;
-
-done:
-    msi_dialog_destroy( dialog );
-
-    return r;
-}
-
 static void MSI_ClosePreview( MSIOBJECTHDR *arg )
 {
     MSIPREVIEW *preview = (MSIPREVIEW *)arg;
@@ -4299,8 +4216,6 @@ UINT WINAPI MsiPreviewBillboardA( MSIHANDLE hPreview, LPCSTR szControlName, LPCS
     return ERROR_CALL_NOT_IMPLEMENTED;
 }
 
-typedef UINT (*event_handler)( msi_dialog *, const WCHAR * );
-
 struct control_event
 {
     const WCHAR  *event;
@@ -4310,10 +4225,11 @@ struct control_event
 static UINT dialog_event_handler( msi_dialog *, const WCHAR *, const WCHAR * );
 
 /* create a dialog box and run it if it's modal */
-static UINT event_do_dialog( MSIPACKAGE *package, const WCHAR *name, msi_dialog *parent, BOOL destroy_modeless )
+static INT event_do_dialog( MSIPACKAGE *package, const WCHAR *name, msi_dialog *parent, BOOL destroy_modeless )
 {
     msi_dialog *dialog;
     UINT r;
+    INT retval;
 
     /* create a new dialog */
     dialog = dialog_create( package, name, parent, dialog_event_handler );
@@ -4329,12 +4245,18 @@ static UINT event_do_dialog( MSIPACKAGE *package, const WCHAR *name, msi_dialog
         /* modeless dialogs return an error message */
         r = dialog_run_message_loop( dialog );
         if (r == ERROR_SUCCESS)
+        {
+            retval = dialog->retval;
             msi_dialog_destroy( dialog );
+            return retval;
+        }
         else
+        {
             package->dialog = dialog;
+            return IDOK;
+        }
     }
-    else r = ERROR_FUNCTION_FAILED;
-    return r;
+    else return 0;
 }
 
 /* end a modal dialog box */
@@ -4346,28 +4268,31 @@ static UINT event_end_dialog( msi_dialog *dialog, const WCHAR *argument )
     static const WCHAR returnW[] = {'R','e','t','u','r','n',0};
 
     if (!strcmpW( argument, exitW ))
-        dialog->package->CurrentInstallState = ERROR_INSTALL_USEREXIT;
+        dialog->retval = IDCANCEL;
     else if (!strcmpW( argument, retryW ))
-        dialog->package->CurrentInstallState = ERROR_INSTALL_SUSPEND;
+        dialog->retval = IDRETRY;
     else if (!strcmpW( argument, ignoreW ))
-        dialog->package->CurrentInstallState = ERROR_SUCCESS;
+        dialog->retval = IDOK;
     else if (!strcmpW( argument, returnW ))
-    {
-        msi_dialog *parent = dialog->parent;
-        msi_free( dialog->package->next_dialog );
-        dialog->package->next_dialog = (parent) ? strdupW( parent->name ) : NULL;
-        dialog->package->CurrentInstallState = ERROR_SUCCESS;
-    }
+        dialog->retval = 0;
     else
     {
         ERR("Unknown argument string %s\n", debugstr_w(argument));
-        dialog->package->CurrentInstallState = ERROR_FUNCTION_FAILED;
+        dialog->retval = IDABORT;
     }
     event_cleanup_subscriptions( dialog->package, dialog->name );
     msi_dialog_end_dialog( dialog );
     return ERROR_SUCCESS;
 }
 
+static UINT pending_event_end_dialog( msi_dialog *dialog, const WCHAR *argument )
+{
+    dialog->pending_event = event_end_dialog;
+    if (dialog->pending_argument) msi_free( dialog->pending_argument );
+    dialog->pending_argument = strdupW( argument );
+    return ERROR_SUCCESS;
+}
+
 /* transition from one modal dialog to another modal dialog */
 static UINT event_new_dialog( msi_dialog *dialog, const WCHAR *argument )
 {
@@ -4378,19 +4303,39 @@ static UINT event_new_dialog( msi_dialog *dialog, const WCHAR *argument )
     return ERROR_SUCCESS;
 }
 
+static UINT pending_event_new_dialog( msi_dialog *dialog, const WCHAR *argument )
+{
+    dialog->pending_event = event_new_dialog;
+    if (dialog->pending_argument) msi_free( dialog->pending_argument );
+    dialog->pending_argument = strdupW( argument );
+    return ERROR_SUCCESS;
+}
+
 /* create a new child dialog of an existing modal dialog */
 static UINT event_spawn_dialog( msi_dialog *dialog, const WCHAR *argument )
 {
+    INT r;
     /* don't destroy a modeless dialogs that might be our parent */
-    event_do_dialog( dialog->package, argument, dialog, FALSE );
-    if (dialog->package->CurrentInstallState != ERROR_SUCCESS)
+    r = event_do_dialog( dialog->package, argument, dialog, FALSE );
+    if (r != 0)
+    {
+        dialog->retval = r;
         msi_dialog_end_dialog( dialog );
+    }
     else
         msi_dialog_update_all_controls(dialog);
 
     return ERROR_SUCCESS;
 }
 
+static UINT pending_event_spawn_dialog( msi_dialog *dialog, const WCHAR *argument )
+{
+    dialog->pending_event = event_spawn_dialog;
+    if (dialog->pending_argument) msi_free( dialog->pending_argument );
+    dialog->pending_argument = strdupW( argument );
+    return ERROR_SUCCESS;
+}
+
 /* creates a dialog that remains up for a period of time based on a condition */
 static UINT event_spawn_wait_dialog( msi_dialog *dialog, const WCHAR *argument )
 {
@@ -4489,26 +4434,49 @@ static UINT event_reset( msi_dialog *dialog, const WCHAR *argument )
     return ERROR_SUCCESS;
 }
 
-/* Return ERROR_SUCCESS if dialog is process and ERROR_FUNCTION_FAILED
- * if the given parameter is not a dialog box
- */
-UINT ACTION_DialogBox( MSIPACKAGE *package, const WCHAR *dialog )
+INT ACTION_ShowDialog( MSIPACKAGE *package, const WCHAR *dialog )
 {
-    UINT r;
+    static const WCHAR szDialog[] = {'D','i','a','l','o','g',0};
+    MSIRECORD *row;
+    INT rc;
+
+    if (!TABLE_Exists(package->db, szDialog)) return 0;
+
+    row = MSI_CreateRecord(0);
+    if (!row) return -1;
+    MSI_RecordSetStringW(row, 0, dialog);
+    rc = MSI_ProcessMessage(package, INSTALLMESSAGE_SHOWDIALOG, row);
+    msiobj_release(&row->hdr);
+
+    if (rc == -2) rc = 0;
+
+    if (!rc)
+    {
+        MSIRECORD *row = MSI_CreateRecord(2);
+        if (!row) return -1;
+        MSI_RecordSetInteger(row, 1, 2726);
+        MSI_RecordSetStringW(row, 2, dialog);
+        MSI_ProcessMessage(package, INSTALLMESSAGE_INFO, row);
+
+        msiobj_release(&row->hdr);
+    }
+    return rc;
+}
+
+INT ACTION_DialogBox( MSIPACKAGE *package, const WCHAR *dialog )
+{
+    INT r;
 
     if (package->next_dialog) ERR("Already got next dialog... ignoring it\n");
     package->next_dialog = NULL;
 
-    /* Dialogs are chained by filling in the next_dialog member
-     * of the package structure, then terminating the current dialog.
-     * The code below sees the next_dialog member set, and runs the
-     * next dialog.
-     * We fall out of the loop below if we come across a modeless
-     * dialog, as it returns ERROR_IO_PENDING when we try to run
-     * its message loop.
+    /* Dialogs are chained through NewDialog, which sets the next_dialog member.
+     * We fall out of the loop if we reach a modeless dialog, which immediately
+     * returns IDOK, or an EndDialog event, which returns the value corresponding
+     * to its argument.
      */
     r = event_do_dialog( package, dialog, NULL, TRUE );
-    while (r == ERROR_SUCCESS && package->next_dialog)
+    while (package->next_dialog)
     {
         WCHAR *name = package->next_dialog;
 
@@ -4516,7 +4484,6 @@ UINT ACTION_DialogBox( MSIPACKAGE *package, const WCHAR *dialog )
         r = event_do_dialog( package, name, NULL, TRUE );
         msi_free( name );
     }
-    if (r == ERROR_IO_PENDING) r = ERROR_SUCCESS;
     return r;
 }
 
@@ -4567,9 +4534,9 @@ static const WCHAR validate_product_idW[] = {'V','a','l','i','d','a','t','e','P'
 
 static const struct control_event control_events[] =
 {
-    { end_dialogW, event_end_dialog },
-    { new_dialogW, event_new_dialog },
-    { spawn_dialogW, event_spawn_dialog },
+    { end_dialogW, pending_event_end_dialog },
+    { new_dialogW, pending_event_new_dialog },
+    { spawn_dialogW, pending_event_spawn_dialog },
     { spawn_wait_dialogW, event_spawn_wait_dialog },
     { do_actionW, event_do_action },
     { add_localW, event_add_local },
index 981d568..635bff6 100644 (file)
@@ -44,7 +44,7 @@ static void msi_file_update_ui( MSIPACKAGE *package, MSIFILE *f, const WCHAR *ac
     MSI_RecordSetStringW( uirow, 1, f->FileName );
     MSI_RecordSetStringW( uirow, 9, f->Component->Directory );
     MSI_RecordSetInteger( uirow, 6, f->FileSize );
-    msi_ui_actiondata( package, action, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
     msi_ui_progress( package, 2, f->FileSize, 0, 0 );
 }
@@ -966,7 +966,7 @@ done:
     MSI_RecordSetStringW( uirow, 1, MSI_RecordGetString(rec, 1) );
     MSI_RecordSetInteger( uirow, 6, 1 ); /* FIXME */
     MSI_RecordSetStringW( uirow, 9, destdir );
-    msi_ui_actiondata( package, szMoveFiles, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free(sourcedir);
@@ -1103,7 +1103,7 @@ static UINT ITERATE_DuplicateFiles(MSIRECORD *row, LPVOID param)
     MSI_RecordSetStringW( uirow, 1, MSI_RecordGetString( row, 1 ) );
     MSI_RecordSetInteger( uirow, 6, file->FileSize );
     MSI_RecordSetStringW( uirow, 9, MSI_RecordGetString( row, 5 ) );
-    msi_ui_actiondata( package, szDuplicateFiles, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free(dest);
@@ -1179,7 +1179,7 @@ static UINT ITERATE_RemoveDuplicateFiles( MSIRECORD *row, LPVOID param )
     uirow = MSI_CreateRecord( 9 );
     MSI_RecordSetStringW( uirow, 1, MSI_RecordGetString( row, 1 ) );
     MSI_RecordSetStringW( uirow, 9, MSI_RecordGetString( row, 5 ) );
-    msi_ui_actiondata( package, szRemoveDuplicateFiles, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free(dest);
@@ -1301,7 +1301,7 @@ done:
     uirow = MSI_CreateRecord( 9 );
     MSI_RecordSetStringW( uirow, 1, MSI_RecordGetString(row, 1) );
     MSI_RecordSetStringW( uirow, 9, dir );
-    msi_ui_actiondata( package, szRemoveFiles, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
 
     msi_free(filename);
@@ -1391,7 +1391,7 @@ UINT ACTION_RemoveFiles( MSIPACKAGE *package )
         uirow = MSI_CreateRecord( 9 );
         MSI_RecordSetStringW( uirow, 1, file->FileName );
         MSI_RecordSetStringW( uirow, 9, comp->Directory );
-        msi_ui_actiondata( package, szRemoveFiles, uirow );
+        MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
         msiobj_release( &uirow->hdr );
     }
 
index 999f884..8a91eca 100644 (file)
@@ -272,7 +272,7 @@ static UINT ITERATE_RegisterFonts(MSIRECORD *row, LPVOID param)
     if (p) p++;
     else p = uipath;
     MSI_RecordSetStringW( uirow, 1, p );
-    msi_ui_actiondata( package, szRegisterFonts, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
     msi_free( uipath );
     /* FIXME: call msi_ui_progress? */
@@ -352,7 +352,7 @@ static UINT ITERATE_UnregisterFonts( MSIRECORD *row, LPVOID param )
     if (p) p++;
     else p = uipath;
     MSI_RecordSetStringW( uirow, 1, p );
-    msi_ui_actiondata( package, szUnregisterFonts, uirow );
+    MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
     msiobj_release( &uirow->hdr );
     msi_free( uipath );
     /* FIXME: call msi_ui_progress? */
index 142f356..10baa0e 100644 (file)
@@ -260,7 +260,7 @@ static WCHAR *deformat_environment( FORMAT *format, FORMSTR *str, int *ret_len )
 }
 
 static WCHAR *deformat_literal( FORMAT *format, FORMSTR *str, BOOL *propfound,
-                                BOOL *nonprop, int *type, int *len )
+                                int *type, int *len )
 {
     LPCWSTR data = get_formstr_data(format, str);
     WCHAR *replaced = NULL;
@@ -327,58 +327,24 @@ static LPWSTR build_default_format(const MSIRECORD* record)
 {
     int i;  
     int count;
-    LPWSTR rc, buf;
-    static const WCHAR fmt[] = {'%','i',':',' ','%','s',' ',0};
-    static const WCHAR fmt_null[] = {'%','i',':',' ',' ',0};
-    static const WCHAR fmt_index[] = {'%','i',0};
-    LPCWSTR str;
-    WCHAR index[10];
-    DWORD size, max_len, len;
+    WCHAR *rc, buf[26];
+    static const WCHAR fmt[] = {'%','i',':',' ','[','%','i',']',' ',0};
+    DWORD size;
 
     count = MSI_RecordGetFieldCount(record);
 
-    max_len = MAX_PATH;
-    buf = msi_alloc((max_len + 1) * sizeof(WCHAR));
-
-    rc = NULL;
+    rc = msi_alloc(1);
+    rc[0] = 0;
     size = 1;
+
     for (i = 1; i <= count; i++)
     {
-        sprintfW(index, fmt_index, i);
-        str = MSI_RecordGetString(record, i);
-        len = (str) ? lstrlenW(str) : 0;
-        len += (sizeof(fmt_null)/sizeof(fmt_null[0]) - 3) + lstrlenW(index);
-        size += len;
-
-        if (len > max_len)
-        {
-            max_len = len;
-            buf = msi_realloc(buf, (max_len + 1) * sizeof(WCHAR));
-            if (!buf)
-            {
-                msi_free(rc);
-                return NULL;
-            }
-        }
-
-        if (str)
-            sprintfW(buf, fmt, i, str);
-        else
-            sprintfW(buf, fmt_null, i);
-
-        if (!rc)
-        {
-            rc = msi_alloc(size * sizeof(WCHAR));
-            lstrcpyW(rc, buf);
-        }
-        else
-        {
-            rc = msi_realloc(rc, size * sizeof(WCHAR));
-            lstrcatW(rc, buf);
-        }
+        sprintfW(buf, fmt, i, i);
+        size += lstrlenW(buf);
+        rc = msi_realloc(rc, size * sizeof(WCHAR));
+        lstrcatW(rc, buf);
     }
 
-    msi_free(buf);
     return rc;
 }
 
@@ -669,7 +635,7 @@ static WCHAR *replace_stack_prop( FORMAT *format, STACK *values,
     content->len = *oldsize - 2;
     content->type = *type;
 
-    if (*type == FORMAT_NUMBER)
+    if (*type == FORMAT_NUMBER && format->record)
     {
         replaced = deformat_index( format, content, len );
         if (replaced)
@@ -683,7 +649,7 @@ static WCHAR *replace_stack_prop( FORMAT *format, STACK *values,
     }
     else if (format->package)
     {
-        replaced = deformat_literal( format, content, propfound, nonprop, type, len );
+        replaced = deformat_literal( format, content, propfound, type, len );
     }
     else
     {
@@ -775,7 +741,7 @@ static BOOL verify_format(LPWSTR data)
 
 static DWORD deformat_string_internal(MSIPACKAGE *package, LPCWSTR ptr, 
                                       WCHAR** data, DWORD *len,
-                                      MSIRECORD* record, INT* failcount)
+                                      MSIRECORD* record)
 {
     FORMAT format;
     FORMSTR *str = NULL;
@@ -858,18 +824,37 @@ static DWORD deformat_string_internal(MSIPACKAGE *package, LPCWSTR ptr,
 UINT MSI_FormatRecordW( MSIPACKAGE* package, MSIRECORD* record, LPWSTR buffer,
                         LPDWORD size )
 {
-    WCHAR *format, *deformated;
+    WCHAR *format, *deformated = NULL;
     UINT rc = ERROR_INVALID_PARAMETER;
     DWORD len;
+    MSIRECORD *record_deformated;
+    int field_count, i;
 
     TRACE("%p %p %p %p\n", package, record, buffer, size);
+    dump_record(record);
 
     if (!(format = msi_dup_record_field( record, 0 )))
         format = build_default_format( record );
 
-    TRACE("%s\n", debugstr_w(format));
+    field_count = MSI_RecordGetFieldCount(record);
+    record_deformated = MSI_CloneRecord(record);
+    if (!record_deformated)
+    {
+        rc = ERROR_OUTOFMEMORY;
+        goto end;
+    }
+    MSI_RecordSetStringW(record_deformated, 0, format);
+    for (i = 1; i <= field_count; i++)
+    {
+        if (MSI_RecordGetString(record, i))
+        {
+            deformat_string_internal(package, MSI_RecordGetString(record, i), &deformated, &len, NULL);
+            MSI_RecordSetStringW(record_deformated, i, deformated);
+            msi_free(deformated);
+        }
+    }
 
-    deformat_string_internal( package, format, &deformated, &len, record, NULL );
+    deformat_string_internal(package, format, &deformated, &len, record_deformated);
     if (buffer)
     {
         if (*size>len)
@@ -891,6 +876,8 @@ UINT MSI_FormatRecordW( MSIPACKAGE* package, MSIRECORD* record, LPWSTR buffer,
     else rc = ERROR_SUCCESS;
 
     *size = len;
+    msiobj_release(&record_deformated->hdr);
+end:
     msi_free( format );
     msi_free( deformated );
     return rc;
index e5d5df7..46ab527 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "The specified installation package could not be opened.  Please check the file path and try again."
+    5 "ïúòÿò %s íå å íàìåðåí"
+    9 "ïîñòàâåòå äèñê %s"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "âúâåäåòå ïàïêàòà, êîÿòî ñúäúðæà %s"
+    12 "èçòî÷íèêà çà èíñòàëàöèÿ íà ôóíêöèîíàëíîñòòà ëèïñâà"
+    13 "ìðåæîâîòî óñòðîéñòâà íóæíî çà ôóíêöèîíàëíîñòòà ëèïñâà "
+    14 "ôóíêöèîíàëíîñò îò:"
+    15 "èçáåðåòå ïàïêàòà, êîÿòî ñúäúðæà %s"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "The specified installation package could not be opened.  Please check the file path and try again."
-       5 "ïúòÿò %s íå å íàìåðåí"
-       9 "ïîñòàâåòå äèñê %s"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "âúâåäåòå ïàïêàòà, êîÿòî ñúäúðæà %s"
-       12 "èçòî÷íèêà çà èíñòàëàöèÿ íà ôóíêöèîíàëíîñòòà ëèïñâà"
-       13 "ìðåæîâîòî óñòðîéñòâà íóæíî çà ôóíêöèîíàëíîñòòà ëèïñâà "
-       14 "ôóíêöèîíàëíîñò îò:"
-       15 "èçáåðåòå ïàïêàòà, êîÿòî ñúäúðæà %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index fc37ff0..b14bd9f 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_DANISH, SUBLANG_DEFAULT
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Kunne ikke åbne den specificerede installationspakke. Kontroller stien og prøv igen."
+    5 "kunne ikke finden stien '%s'."
+    9 "indsæt disk '%s'"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "angiv kataloget som indeholder '%s'."
+    12 "featurens installationskilde mangler."
+    13 "featurens netværksdrev mangler."
+    14 "feature fra:"
+    15 "Vælg kataloget som indeholder '%s'."
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Kunne ikke åbne den specificerede installationspakke. Kontroller stien og prøv igen."
-       5 "kunne ikke finden stien '%s'."
-       9 "indsæt disk '%s'"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "angiv kataloget som indeholder '%s'."
-       12 "featurens installationskilde mangler."
-        13 "featurens netværksdrev mangler."
-        14 "feature fra:"
-       15 "Vælg kataloget som indeholder '%s'."
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 558107c..0d486f3 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Das angegebene Installationspaket konnte nicht geöffnet werden. Bitte überprüfen Sie den Pfadnamen und versuchen Sie es noch einmal."
+    5 "Der Pfad %s wurde nicht gefunden."
+    9 "Bitte Disk %s einlegen."
+    10 "Windows Installer %s\n\nBenutzung:\nmsiexec Befehl {Parameter} [Zusätzliche Parammeter]\n\nProdukt installieren:\n\t/i {Paket|Produktcode} [Eigenschaft]\n\t/package {Paket|Produktcode} [Eigenschaft]\n\t/a Paket [Eigenschaft]\nInstallation reparieren:\n\t/f[p|o|e|d|c|a|u|m|s|v] {Paket|Produktcode}\nProdukt deinstallieren:\n\t/uninstall {Paket|Produktcode} [Eigenschaft]\n\t/x {Paket|Produktcode} [Eigenschaft]\nProdukt ankündigen:\n\t/j[u|m] Paket [/t Transformationspaket] [/g Sprachkennung]\nPatch integrieren:\n\t/p Patchpaket [Eigenschaft]\n\t/p Patchpaket /a Paket [Eigenschaft]\nProtokollierung und Benutzeroberfläche für die oberen Befehle anpassen:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] Protokolldatei\n\t/q{|n|b|r|f|n+|b+|b-}\nMSI Service registrieren:\n\t/y\nRegistrierung des MSI Service aufheben:\n\t/z\nHilfe anzeigen:\n\t/help\n\t/?\n"
+    11 "Geben Sie das Verzeichnis ein, dass %s enthält."
+    12 "Die Installationsquelle für das Feature fehlt."
+    13 "Das Netzwerklaufwerk für das Feature fehlt."
+    14 "Feature von:"
+    15 "Wählen Sie das Verzeichnis aus, dass %s enthält."
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Das angegebene Installationspaket konnte nicht geöffnet werden. Bitte überprüfen Sie den Pfadnamen und versuchen Sie es noch einmal."
-       5 "Der Pfad %s wurde nicht gefunden."
-       9 "Bitte Disk %s einlegen."
-       10 "Windows Installer %s\n\nBenutzung:\nmsiexec Befehl {Parameter} [Zusätzliche Parammeter]\n\nProdukt installieren:\n\t/i {Paket|Produktcode} [Eigenschaft]\n\t/package {Paket|Produktcode} [Eigenschaft]\n\t/a Paket [Eigenschaft]\nInstallation reparieren:\n\t/f[p|o|e|d|c|a|u|m|s|v] {Paket|Produktcode}\nProdukt deinstallieren:\n\t/uninstall {Paket|Produktcode} [Eigenschaft]\n\t/x {Paket|Produktcode} [Eigenschaft]\nProdukt ankündigen:\n\t/j[u|m] Paket [/t Transformationspaket] [/g Sprachkennung]\nPatch integrieren:\n\t/p Patchpaket [Eigenschaft]\n\t/p Patchpaket /a Paket [Eigenschaft]\nProtokollierung und Benutzeroberfläche für die oberen Befehle anpassen:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] Protokolldatei\n\t/q{|n|b|r|f|n+|b+|b-}\nMSI Service registrieren:\n\t/y\nRegistrierung des MSI Service aufheben:\n\t/z\nHilfe anzeigen:\n\t/help\n\t/?\n"
-       11 "Geben Sie das Verzeichnis ein, dass %s enthält."
-       12 "Die Installationsquelle für das Feature fehlt."
-       13 "Das Netzwerklaufwerk für das Feature fehlt."
-       14 "Feature von:"
-       15 "Wählen Sie das Verzeichnis aus, dass %s enthält."
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 2b520e9..d7972f7 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "The specified installation package could not be opened.  Please check the file path and try again."
+    5 "path %s not found"
+    9 "insert disk %s"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "enter which folder contains %s"
+    12 "install source for feature missing"
+    13 "network drive for feature missing"
+    14 "feature from:"
+    15 "choose which folder contains %s"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "The specified installation package could not be opened.  Please check the file path and try again."
-       5 "path %s not found"
-       9 "insert disk %s"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "enter which folder contains %s"
-       12 "install source for feature missing"
-       13 "network drive for feature missing"
-       14 "feature from:"
-       15 "choose which folder contains %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index f81e260..c9b3392 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "No se ha podido abrir el paquete de instalación especificado. Por favor, compruebe la ruta del archivo y vuelva a intentarlo."
+    5 "ruta %s no encontrada"
+    9 "inserte el disco %s"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "introduzca qué carpeta contiene %s"
+    12 "instalar fuente para característica ausente"
+    13 "unidad de red para característica ausente"
+    14 "característica de:"
+    15 "elija qué carpeta contiene %s"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "No se ha podido abrir el paquete de instalación especificado. Por favor, compruebe la ruta del archivo y vuelva a intentarlo."
-       5 "ruta %s no encontrada"
-       9 "inserte el disco %s"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "introduzca qué carpeta contiene %s"
-       12 "instalar fuente para característica ausente"
-       13 "unidad de red para característica ausente"
-       14 "característica de:"
-       15 "elija qué carpeta contiene %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 4229e2d..233aa2c 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Annettua asennuspakettia ei voitu avata. Tarkista tiedoston polku ja yritä uudelleen."
+    5 "Polkua %s ei löydy."
+    9 "Anna levy %s"
+    10 "Windows Installer %s\n\nKäyttö:\nmsiexec komento {pakollinen parametri} [valinnainen parametri]\n\nAsenna tuote:\n\t/i {paketti|tuotekoodi} [ominaisuus]\n\t/package {paketti|tuotekoodi} [ominaisuus]\n\t/a {paketti} [ominaisuus]\nKorjaa asennus:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paketti|tuotekoodi}\nPoista tuote:\n\t/uninstall {paketti|tuotekoodi} [ominaisuus]\n\t/x {paketti|tuotekoodi} [ominaisuus]\nMainosta (advertise) tuotetta:\n\t/j[u|m] paketti [/t muunnos] [/g kielitunnus]\nAsenna korjaus:\n\t/p korjauspaketti [ominaisuus]\n\t/p korjauspaketti /a paketti [ominaisuus]\nLoki- ja käyttöliittymäasetukset edellisille komennoille:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] lokitiedosto\n\t/q{|n|b|r|f|n+|b+|b-}\nRekisteröi MSI-palvelu:\n\t/y\nPeru MSI-palvelun rekisteröinti:\n\t/z\nNäytä tämä ohje:\n\t/help\n\t/?\n"
+    11 "Anna kansio, jossa on %s"
+    12 "Ominaisuuden asennuslähde puuttuu."
+    13 "Ominaisuuden verkkolevy puuttuu."
+    14 "Ominaisuus:"
+    15 "Valitse kansio, jossa on %s"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Annettua asennuspakettia ei voitu avata. Tarkista tiedoston polku ja yritä uudelleen."
-       5 "Polkua %s ei löydy."
-       9 "Anna levy %s"
-       10 "Windows Installer %s\n\nKäyttö:\nmsiexec komento {pakollinen parametri} [valinnainen parametri]\n\nAsenna tuote:\n\t/i {paketti|tuotekoodi} [ominaisuus]\n\t/package {paketti|tuotekoodi} [ominaisuus]\n\t/a {paketti} [ominaisuus]\nKorjaa asennus:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paketti|tuotekoodi}\nPoista tuote:\n\t/uninstall {paketti|tuotekoodi} [ominaisuus]\n\t/x {paketti|tuotekoodi} [ominaisuus]\nMainosta (advertise) tuotetta:\n\t/j[u|m] paketti [/t muunnos] [/g kielitunnus]\nAsenna korjaus:\n\t/p korjauspaketti [ominaisuus]\n\t/p korjauspaketti /a paketti [ominaisuus]\nLoki- ja käyttöliittymäasetukset edellisille komennoille:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] lokitiedosto\n\t/q{|n|b|r|f|n+|b+|b-}\nRekisteröi MSI-palvelu:\n\t/y\nPeru MSI-palvelun rekisteröinti:\n\t/z\nNäytä tämä ohje:\n\t/help\n\t/?\n"
-       11 "Anna kansio, jossa on %s"
-       12 "Ominaisuuden asennuslähde puuttuu."
-       13 "Ominaisuuden verkkolevy puuttuu."
-       14 "Ominaisuus:"
-       15 "Valitse kansio, jossa on %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index ca1f4d6..026baa1 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
+LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
 
-/* UTF-8 */
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Le paquet d'installation spécifié n'a pu être ouvert. Veuillez vérifier le chemin du fichier et réessayer."
+    5 "Le chemin %s est introuvable"
+    9 "insérez le disque %s"
+    10 "Programme d'installation Windows %s\n\nUsage :\nmsiexec commande {paramètre obligatoire} [paramètre optionnel]\n\nInstaller un produit :\n\t/i {paquet|code_produit} [propriété]\n\t/package {paquet|code_produit} [propriété]\n\t/a paquet [propriété]\nRéparer une installation :\n\t/f[p|o|e|d|c|a|u|m|s|v] {paquet|code_produit}\nDésinstaller un produit :\n\t/uninstall {paquet|code_produit} [propriété]\n\t/x {paquet|code_produit} [propriété]\nPublier un produit :\n\t/j[u|m] paquet [/t transformation] [/g id_langue]\nAppliquer un patch :\n\t/p paquet_patch [propriété]\n\t/p paquet_patch /a paquet [propriété]\nModificateurs de journalisation et d'interface utilisateur pour les commandes ci-dessus :\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] fichier_journal\n\t/q{|n|b|r|f|n+|b+|b-}\nEnregistrer le service MSI :\n\t/y\nAnnuler l'enregistrement du service MSI :\n\t/z\nAfficher cette aide :\n\t/help\n\t/?\n"
+    11 "saisissez le nom du dossier contenant %s"
+    12 "source d'installation pour la fonctionnalité manquante"
+    13 "lecteur réseau pour la fonctionnalité manquante"
+    14 "fonctionnalité depuis :"
+    15 "sélectionnez le dossier contenant %s"
+}
 
-LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Le paquet d'installation spécifié n'a pu être ouvert. Veuillez vérifier le chemin du fichier et réessayer."
-       5 "Le chemin %s est introuvable"
-       9 "insérez le disque %s"
-       10 "Programme d'installation Windows %s\n\nUsage :\nmsiexec commande {paramètre obligatoire} [paramètre optionnel]\n\nInstaller un produit :\n\t/i {paquet|code_produit} [propriété]\n\t/package {paquet|code_produit} [propriété]\n\t/a paquet [propriété]\nRéparer une installation :\n\t/f[p|o|e|d|c|a|u|m|s|v] {paquet|code_produit}\nDésinstaller un produit :\n\t/uninstall {paquet|code_produit} [propriété]\n\t/x {paquet|code_produit} [propriété]\nPublier un produit :\n\t/j[u|m] paquet [/t transformation] [/g id_langue]\nAppliquer un patch :\n\t/p paquet_patch [propriété]\n\t/p paquet_patch /a paquet [propriété]\nModificateurs de journalisation et d'interface utilisateur pour les commandes ci-dessus :\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] fichier_journal\n\t/q{|n|b|r|f|n+|b+|b-}\nEnregistrer le service MSI :\n\t/y\nAnnuler l'enregistrement du service MSI :\n\t/z\nAfficher cette aide :\n\t/help\n\t/?\n"
-       11 "saisissez le nom du dossier contenant %s"
-       12 "source d'installation pour la fonctionnalité manquante"
-       13 "lecteur réseau pour la fonctionnalité manquante"
-       14 "fonctionnalité depuis :"
-       15 "sélectionnez le dossier contenant %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index be90332..492e2aa 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "The specified installation package could not be opened.  Please check the file path and try again."
+    5 "הנתיב %s לא נמצא"
+    9 "הכנס דיסק %s"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "הזן איזו תיקיה מכילה את %s"
+    12 "מקור ההתקנה עבור התכונה חסר"
+    13 "כונן רשת עבור התכונה חסר"
+    14 "מהתקן מ:"
+    15 "בחר איזו תיקיה מכילה את %s"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "The specified installation package could not be opened.  Please check the file path and try again."
-       5 "הנתיב %s לא נמצא"
-       9 "הכנס דיסק %s"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "הזן איזו תיקיה מכילה את %s"
-       12 "מקור ההתקנה עבור התכונה חסר"
-       13 "כונן רשת עבור התכונה חסר"
-       14 "מהתקן מ:"
-       15 "בחר איזו תיקיה מכילה את %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 4354013..70ab46f 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "The specified installation package could not be opened.  Please check the file path and try again."
+    5 "%s útvonal nem található"
+    9 "helyezze be a lemezt: %s"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "adja meg melyik mappa tartalmazza ezt: %s"
+    12 "hiányzó tulajdonság a telepítési forráshoz"
+    13 "hiányzó tulajdonság a hálózati meghajtóhoz"
+    14 "tulajdonság innen:"
+    15 "válassza ki, melyik mappa tartalmazza ezt: %s"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "The specified installation package could not be opened.  Please check the file path and try again."
-       5 "%s útvonal nem található"
-       9 "helyezze be a lemezt: %s"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "adja meg melyik mappa tartalmazza ezt: %s"
-       12 "hiányzó tulajdonság a telepítési forráshoz"
-       13 "hiányzó tulajdonság a hálózati meghajtóhoz"
-       14 "tulajdonság innen:"
-       15 "válassza ki, melyik mappa tartalmazza ezt: %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index bc1ad84..4a437a8 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
+LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
 
-/*UTF-8*/
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Impossibile aprire il pacchetto di installazione specificato.  Per favore controlla l'indirizzo del file e riprova."
+    5 "percorso %s non trovato"
+    9 "inserire disco %s"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "immettere il nome della cartella che contiene %s"
+    12 "sorgente di installazione per la funzionalità mancante"
+    13 "periferica di rete per la funzionalità mancante"
+    14 "funzionalità da:"
+    15 "selezionare la cartella che contiene %s"
+}
 
-LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Impossibile aprire il pacchetto di installazione specificato.  Per favore controlla l'indirizzo del file e riprova."
-       5 "percorso %s non trovato"
-       9 "inserire disco %s"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "immettere il nome della cartella che contiene %s"
-       12 "sorgente di installazione per la funzionalità mancante"
-       13 "periferica di rete per la funzionalità mancante"
-       14 "funzionalità da:"
-       15 "selezionare la cartella che contiene %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index c075956..c3ac019 100644 (file)
 LANGUAGE LANG_JAPANESE, SUBLANG_NEUTRAL
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    5 "パス %s がみつかりませんでした"
+    9 "ディスク %s を挿入してください"
+    10 "無効なパラメータです"
+    11 "%s のあるフォルダを入力してください"
+    12 "機能のインストール元がありません"
+    13 "機能があるネットワーク ドライブがありません"
+    14 "機能の場所:"
+    15 "%s のあるフォルダを選択してください"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       5 "パス %s がみつかりませんでした"
-       9 "ディスク %s を挿入してください"
-       10 "無効なパラメータです"
-       11 "%s のあるフォルダを入力してください"
-       12 "機能\のインストール元がありません"
-       13 "機能\があるネットワーク ドライブがありません"
-       14 "機能\の場所:"
-       15 "%s のあるフォルダを選択してください"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index fc72a65..47d29b9 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 " 지정한 설치 패키지를 열 수 없습니다. 파일 경로를 확인하고 다시 시도하십시오."
+    5 "%s  경로를 찾을수 없습니다"
+    9 "디스크 %s 삽입"
+    10 "Windows Installer %s\n\n사용법:\nmsiexec 명령 {필수 매개변수}  [선택적 매개변수]\n\n제품 설치:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\n설치 복구:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n제품 제거:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\n제품 알리기:\n\t/j[u|m] package [/t transform] [/g languageid]\n패치 추가:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\n위의 명령어를 위한 Log 와 UI 한정자 :\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nMSI 서비스  등록:\n\t/y\nMSI 서비스 등록 해제:\n\t/z\n도움말  보기:\n\t/help\n\t/?\n"
+    11 "%s를 포함하는 폴더를 입력하세여"
+    12 "빠진 부분(feature)을 위한 설치 원본"
+    13 "빠진 부분(feature)을 위한 네트워크 드라이브"
+    14 "부분(feature)에서:"
+    15 " %s를 포함하는 폴더 선택"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 " 지정한 설치 패키지를 열 수 없습니다. 파일 경로를 확인하고 다시 시도하십시오."
-       5 "%s  경로를 찾을수 없습니다"
-       9 "디스크 %s 삽입"
-       10 "Windows Installer %s\n\n사용법:\nmsiexec 명령 {필수 매개변수}  [선택적 매개변수]\n\n제품 설치:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\n설치 복구:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n제품 제거:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\n제품 알리기:\n\t/j[u|m] package [/t transform] [/g languageid]\n패치 추가:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\n위의 명령어를 위한 Log 와 UI 한정자 :\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nMSI 서비스  등록:\n\t/y\nMSI 서비스 등록 해제:\n\t/z\n도움말  보기:\n\t/help\n\t/?\n"
-       11 "%s를 포함하는 폴더를 입력하세여"
-       12 "빠진 부분(feature)을 위한 설치 원본"
-       13 "빠진 부분(feature)을 위한 네트워크 드라이브"
-       14 "부분(feature)에서:"
-       15 " %s를 포함하는 폴더 선택"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 57de188..597b360 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
+LANGUAGE LANG_LITHUANIAN, SUBLANG_NEUTRAL
 
-/* UTF-8 */
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Nepavyko atverti nurodyto diegimo paketo. Patikrinkite failo kelią ir mėginkite dar kartą."
+    5 "kelias %s nerastas"
+    9 "įdėkite diską %s"
+    10 "Windows diegimo programa %s\n\nNaudojimas:\nmsiexec komanda {būtinas parametras} [nebūtinas parametras]\n\nĮdiegti produktą:\n\t/i {paketas|produkto_kodas} [savybė]\n\t/package {paketas|produkto_kodas} [savybė]\n\t/a paketas [savybė]\nTaisyti įdiegimą:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paketas|produkto_kodas}\nPašalinti produktą:\n\t/uninstall {paketas|produkto_kodas} [savybė]\n\t/x {paketas|produkto_kodas} [savybė]\nSkelbti produktą:\n\t/j[u|m] paketas [/t pakeitimas] [/g kalbos_identifikatorius]\nPritaikyti pataisą:\n\t/p pataisos_paketas [savybė]\n\t/p pataisos_paketas /a paketas [savybė]\nŽurnalo ir sąsajos modifikatoriai aukščiau išvardintoms komandoms:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] žurnalo_failas\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistruoti MSI tarnybą:\n\t/y\nIšregistruoti MSI tarnybą:\n\t/z\nParodyti šią pagalbą:\n\t/help\n\t/?\n"
+    11 "įveskite aplanką, kuris turi %s"
+    12 "trūksta diegimo šaltinio komponentui"
+    13 "trūksta tinklo disko komponentui"
+    14 "komponentas iš:"
+    15 "parinkite aplanką, kuris turi %s"
+}
 
-LANGUAGE LANG_LITHUANIAN, SUBLANG_NEUTRAL
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Nepavyko atverti nurodyto diegimo paketo. Patikrinkite failo kelią ir mėginkite dar kartą."
-       5 "kelias %s nerastas"
-       9 "įdėkite diską %s"
-       10 "Windows diegimo programa %s\n\nNaudojimas:\nmsiexec komanda {būtinas parametras} [nebūtinas parametras]\n\nĮdiegti produktą:\n\t/i {paketas|produkto_kodas} [savybė]\n\t/package {paketas|produkto_kodas} [savybė]\n\t/a paketas [savybė]\nTaisyti įdiegimą:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paketas|produkto_kodas}\nPašalinti produktą:\n\t/uninstall {paketas|produkto_kodas} [savybė]\n\t/x {paketas|produkto_kodas} [savybė]\nSkelbti produktą:\n\t/j[u|m] paketas [/t pakeitimas] [/g kalbos_identifikatorius]\nPritaikyti pataisą:\n\t/p pataisos_paketas [savybė]\n\t/p pataisos_paketas /a paketas [savybė]\nŽurnalo ir sąsajos modifikatoriai aukščiau išvardintoms komandoms:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] žurnalo_failas\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistruoti MSI tarnybą:\n\t/y\nIšregistruoti MSI tarnybą:\n\t/z\nParodyti šią pagalbą:\n\t/help\n\t/?\n"
-       11 "įveskite aplanką, kuris turi %s"
-       12 "trūksta diegimo šaltinio komponentui"
-       13 "trūksta tinklo disko komponentui"
-       14 "komponentas iš:"
-       15 "parinkite aplanką, kuris turi %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 4157d4a..29197e8 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Het opgegeven installatie pakket kon niet worden geopend.  Verifieer het bestandspad en probeer opnieuw."
+    5 "Pad %s niet gevonden"
+    9 "Plaats disk %s"
+    10 "Windows Installer %s\n\nGebruik:\nmsiexec commando {vereiste parameter} [optionele parameter]\n\nInstalleer een product:\n\t/i {pakket|productcode} [eigenschap]\n\t/package {pakket|productcode} [eigenschap]\n\t/a pakket [eigenschap]\nHerstel een installatie:\n\t/f[p|o|e|d|c|a|u|m|s|v] {pakket|productcode}\nVerwijder een product:\n\t/uninstall {pakket|productcode} [eigenschap]\n\t/x {pakket|productcode} [eigenschap]\nAdverteer een product:\n\t/j[u|m] pakket [/t transform] [/g languageid]\nPas een patch toe:\n\t/p patchpakket [eigenschap]\n\t/p patchpakket /a pakket [eigenschap]\nLog en UI Modifiers voor bovenstaande commando's:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logbestand\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistreer MSI Service:\n\t/y\nMaak registratie MSI Service ongedaan:\n\t/z\nLaat dit helpvenster zien:\n\t/help\n\t/?\n"
+    11 "Voer de map in die %s bevat"
+    12 "De installatiebron van de feature ontbreekt"
+    13 "De netwerkschijf met de feature ontbreekt"
+    14 "Feature van:"
+    15 "Kies de map die %s bevat"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Het opgegeven installatie pakket kon niet worden geopend.  Verifieer het bestandspad en probeer opnieuw."
-       5 "Pad %s niet gevonden"
-       9 "Plaats disk %s"
-       10 "Windows Installer %s\n\nGebruik:\nmsiexec commando {vereiste parameter} [optionele parameter]\n\nInstalleer een product:\n\t/i {pakket|productcode} [eigenschap]\n\t/package {pakket|productcode} [eigenschap]\n\t/a pakket [eigenschap]\nHerstel een installatie:\n\t/f[p|o|e|d|c|a|u|m|s|v] {pakket|productcode}\nVerwijder een product:\n\t/uninstall {pakket|productcode} [eigenschap]\n\t/x {pakket|productcode} [eigenschap]\nAdverteer een product:\n\t/j[u|m] pakket [/t transform] [/g languageid]\nPas een patch toe:\n\t/p patchpakket [eigenschap]\n\t/p patchpakket /a pakket [eigenschap]\nLog en UI Modifiers voor bovenstaande commando's:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logbestand\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistreer MSI Service:\n\t/y\nMaak registratie MSI Service ongedaan:\n\t/z\nLaat dit helpvenster zien:\n\t/help\n\t/?\n"
-       11 "Voer de map in die %s bevat"
-       12 "De installatiebron van de feature ontbreekt"
-       13 "De netwerkschijf met de feature ontbreekt"
-       14 "Feature van:"
-       15 "Kies de map die %s bevat"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 733525d..8c020bf 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Klarte ikke åpne den oppgitte installasjonspakken. Kontroller filbanen og prøv igjen."
+    5 "Fant ikke stien '%s'."
+    9 "Sett i disk '%s'"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "Oppgi katalogen som inneholder '%s'."
+    12 "Egenskapens installasjonskilde mangler."
+    13 "Egenskapens nettverksstasjon mangler."
+    14 "Egenskap fra::"
+    15 "Velg katalogen som inneholder '%s'."
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Klarte ikke åpne den oppgitte installasjonspakken. Kontroller filbanen og prøv igjen."
-       5 "Fant ikke stien '%s'."
-       9 "Sett i disk '%s'"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "Oppgi katalogen som inneholder '%s'."
-       12 "Egenskapens installasjonskilde mangler."
-       13 "Egenskapens nettverksstasjon mangler."
-       14 "Egenskap fra::"
-       15 "Velg katalogen som inneholder '%s'."
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 2f43e6c..5bbf4b0 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Nie udało się otworzyć wybranego pakietu instalacyjnego. Sprawdź czy ścieżka jest poprawna i spróbuj ponownie."
+    5 "ścieżka '%s' nie została odnaleziona"
+    9 "włóż dysk '%s'"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "wprowadź siceżkę do folderu zawierającego '%s'"
+    12 "źródło danych zawierające żądanę funkcję jest niedostępne"
+    13 "dysk siecowy zawierający żądaną funckje jest niedostępny"
+    14 "funkcja z:"
+    15 "wybierz folder zawierający '%s'"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Nie udało się otworzyć wybranego pakietu instalacyjnego. Sprawdź czy ścieżka jest poprawna i spróbuj ponownie."
-       5 "ścieżka '%s' nie została odnaleziona"
-       9 "włóż dysk '%s'"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "wprowadź siceżkę do folderu zawierającego '%s'"
-       12 "źródło danych zawierające żądanę funkcję jest niedostępne"
-       13 "dysk siecowy zawierający żądaną funckje jest niedostępny"
-       14 "funkcja z:"
-       15 "wybierz folder zawierający '%s'"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 22147b8..1d919c9 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
+LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "O pacote de instalação especificado não pôde ser aberto. Por favor, verifique o arquivo e tente novamente."
+    5 "caminho %s não encontrado"
+    9 "insira disco %s"
+    10 "Windows Installer %s\n\nModo de usar:\nmsiexec command {required parameter} [optional parammeter]\n\nInstalar um produto:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nReparar uma instalação:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nDesinstalar um produto:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAnunciar um produto:\n\t/j[u|m] package [/t transform] [/g languageid]\nAplicar um patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nModificadores Log e UI para os comandos acima:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistrar Serviço MSI:\n\t/y\nDesregistrar Serviço MSI:\n\t/z\nMostrar esta ajuda:\n\t/help\n\t/?\n"
+    11 "entre a pasta que contém %s"
+    12 "faltando fonte de instalação para característica"
+    13 "faltando drive de rede para característica"
+    14 "origem da característica:"
+    15 "escolha a pasta que contém %s"
+}
 
-LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "O pacote de instalação especificado não pôde ser aberto. Por favor, verifique o arquivo e tente novamente."
-       5 "caminho %s não encontrado"
-       9 "insira disco %s"
-       10 "Windows Installer %s\n\nModo de usar:\nmsiexec command {required parameter} [optional parammeter]\n\nInstalar um produto:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nReparar uma instalação:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nDesinstalar um produto:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAnunciar um produto:\n\t/j[u|m] package [/t transform] [/g languageid]\nAplicar um patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nModificadores Log e UI para os comandos acima:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistrar Serviço MSI:\n\t/y\nDesregistrar Serviço MSI:\n\t/z\nMostrar esta ajuda:\n\t/help\n\t/?\n"
-       11 "entre a pasta que contém %s"
-       12 "faltando fonte de instalação para característica"
-       13 "faltando drive de rede para característica"
-       14 "origem da característica:"
-       15 "escolha a pasta que contém %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
 
 LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
 
 STRINGTABLE
 {
-       4 "The specified installation package could not be opened.  Please check the file path and try again."
-       5 "localização %s não encontrada"
-       9 "insira o disco %s"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "indique que pasta contém %s"
-       12 "instalar fonte para a opção em falta"
-       13 "controlador de rede para a opção em falta"
-       14 "opção de:"
-       15 "indique que pasta contém %s"
+    4 "The specified installation package could not be opened.  Please check the file path and try again."
+    5 "localização %s não encontrada"
+    9 "insira o disco %s"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "indique que pasta contém %s"
+    12 "instalar fonte para a opção em falta"
+    13 "controlador de rede para a opção em falta"
+    14 "opção de:"
+    15 "indique que pasta contém %s"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
+
+/* Standard action template strings */
+STRINGTABLE
+{
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index e430e3f..428ec80 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Pachetul de instalare menționat nu a putut fi deschis. Verificați calea și încercați din nou."
+    5 "calea %s nu a fost găsită"
+    9 "inserați discul %s"
+    10 "Instalatorul Windows %s\n\nUtilizare:\nmsiexec command {parametru obligatoriu} [parametru opțional]\n\n \
+       Instalarea unui produs:\n\t/i {pachet|cod_produs} [proprietate] \
+                              \n\t/package {pachet|cod_produs} [proprietate] \
+                              \n\t/a pachet [proprietate]\n \
+       Repararea unei instalări:\n\t/f[p|o|e|d|c|a|u|m|s|v] {pachet|cod_produs}\n \
+       Dezinstalarea unui produs:\n\t/uninstall {pachet|cod_produs} [proprietate] \
+                                   \n\t/x {pachet|cod_produs} [proprietate]\n \
+       Promovarea unui produs:\n\t/j[u|m] pachet [/t transformare] [/g id_limbă]\n \
+       Aplicarea unui patch:\n\t/p pachet_patch [proprietate] \
+                              \n\t/p pachet_patch /a pachet [proprietate]\n \
+       Jurnalizare și modificatori de interfață pentru comenzile enumerate: \
+                              \n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] fișier_jurnal\n\t/q{|n|b|r|f|n+|b+|b-}\n \
+       Înregistrarea serviciului MSI:\n\t/y\n \
+       Excluderea serviciului MSI:\n\t/z\n \
+       Afișarea acestui manual:\n\t/help\n\t/?\n"
+    11 "introduceți fișierul care conține %s"
+    12 "lipsește sursa de instalare pentru această caracteristică"
+    13 "lipsește unitatea de rețea pentru această caracteristică"
+    14 "caracteristică de la:"
+    15 "selectați fișierul care conține %s"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-        4 "Pachetul de instalare menționat nu a putut fi deschis. Verificați calea și încercați din nou."
-        5 "calea %s nu a fost găsită"
-        9 "inserați discul %s"
-        10 "Instalatorul Windows %s\n\nUtilizare:\nmsiexec command {parametru obligatoriu} [parametru opțional]\n\n" \
-           "Instalarea unui produs:\n\t/i {pachet|cod_produs} [proprietate]" \
-                                  "\n\t/package {pachet|cod_produs} [proprietate]" \
-                                  "\n\t/a pachet [proprietate]\n" \
-           "Repararea unei instalări:\n\t/f[p|o|e|d|c|a|u|m|s|v] {pachet|cod_produs}\n" \
-           "Dezinstalarea unui produs:\n\t/uninstall {pachet|cod_produs} [proprietate]" \
-                                       "\n\t/x {pachet|cod_produs} [proprietate]\n" \
-           "Promovarea unui produs:\n\t/j[u|m] pachet [/t transformare] [/g id_limbă]\n" \
-           "Aplicarea unui patch:\n\t/p pachet_patch [proprietate]" \
-                                  "\n\t/p pachet_patch /a pachet [proprietate]\n" \
-           "Jurnalizare și modificatori de interfață pentru comenzile enumerate:" \
-                                  "\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] fișier_jurnal\n\t/q{|n|b|r|f|n+|b+|b-}\n" \
-           "Înregistrarea serviciului MSI:\n\t/y\n" \
-           "Excluderea serviciului MSI:\n\t/z\n" \
-           "Afișarea acestui manual:\n\t/help\n\t/?\n"
-        11 "introduceți fișierul care conține %s"
-        12 "lipsește sursa de instalare pentru această caracteristică"
-        13 "lipsește unitatea de rețea pentru această caracteristică"
-        14 "caracteristică de la:"
-        15 "selectați fișierul care conține %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 25188b0..a485fd9 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
+LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
 
-/* UTF-8 */
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Указанный пакет не может быть открыт. Проверьте файл и повторите попытку."
+    5 "путь %s не найден"
+    9 "вставьте диск %s"
+    10 "Устанновщик ReactOS %s\n\nИспользование:\nmsiexec команда {обязательные параметры} [необязательные параметры]\n\nУстановить продукт:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nВосстановить установку:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nУдалить продукт:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nПрименить патч:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nРегистрация сервиса MSI:\n\t/y\nUnregister MSI Service:\n\t/z\nОтобразить эту справку:\n\t/help\n\t/?\n"
+    11 "укажите каталог, содержащий %s"
+    12 "источник установки данной возможности не указан"
+    13 "сетевой диск для данной возможности не указан"
+    14 "возможность из:"
+    15 "выберите каталог, содержащий %s"
+}
 
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Указанный пакет не может быть открыт. Проверьте файл и повторите попытку."
-       5 "путь %s не найден"
-       9 "вставьте диск %s"
-       10 "Устанновщик ReactOS %s\n\nИспользование:\nmsiexec команда {обязательные параметры} [необязательные параметры]\n\nУстановить продукт:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nВосстановить установку:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nУдалить продукт:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nПрименить патч:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\Регистрация сервиса MSI:\n\t/y\nUnregister MSI Service:\n\t/z\nОтобразить эту справку:\n\t/help\n\t/?\n"
-       11 "укажите каталог, содержащий %s"
-       12 "источник установки данной возможности не указан"
-       13 "сетевой диск для данной возможности не указан"
-       14 "возможность из:"
-       15 "выберите каталог, содержащий %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 16ffa7e..ed6df34 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
+LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Navedenega namestitvenega paketa ni mogoče odpreti. Preverite ime datoteke in poskusite znova."
+    5 "pot %s ne obstaja"
+    9 "vnesite disk %s"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "vnesite ime mape, ki vsebuje %s"
+    12 "manjkajoč namestitveni vir za namestitev funkcije"
+    13 "manjkajoč omrežni pogon za namestitev funkcijo"
+    14 "funkcija z:"
+    15 "izberite mapo, ki vsebuje %s"
+}
 
-LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Navedenega namestitvenega paketa ni mogoče odpreti. Preverite ime datoteke in poskusite znova."
-       5 "pot %s ne obstaja"
-       9 "vnesite disk %s"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "vnesite ime mape, ki vsebuje %s"
-       12 "manjkajoč namestitveni vir za namestitev funkcije"
-       13 "manjkajoč omrežni pogon za namestitev funkcijo"
-       14 "funkcija z:"
-       15 "izberite mapo, ki vsebuje %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 2565b51..bb6c770 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Paketa e specifikuar instalimi nuk mund të hapet. Ju lutem kontrolloni rrugën e dokumentit dhe të provoni përsëri."
+    5 "rruga %s nuk u gjënd"
+    9 "fusni diskun %s"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "hyr e cila dosje përmban %s"
+    12 "instalo burimin për funksionin e munguar"
+    13 "rrjet drive-ri për funksionin e munguar"
+    14 "funksione nga:"
+    15 "zgjidhni dosjen që përmban %s"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Paketa e specifikuar instalimi nuk mund të hapet. Ju lutem kontrolloni rrugën e dokumentit dhe të provoni përsëri."
-       5 "rruga %s nuk u gjënd"
-       9 "fusni diskun %s"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "hyr e cila dosje përmban %s"
-       12 "instalo burimin për funksionin e munguar"
-       13 "rrjet drive-ri për funksionin e munguar"
-       14 "funksione nga:"
-       15 "zgjidhni dosjen që përmban %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index fc8b499..eaaeb09 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
+LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Instalacija ne može biti otvorena.  Molimo proverite destinaciju fajla i pokušajte ponovo."
+    5 "putanja %s nije nađena"
+    9 "Ubacite disk %s"
+    10 "Windows Instalacija programa %s\n\nSvrha:\nmsiexec komanda {traženi parametar} [opcioni parametar]\n\nInstalacija proizvoda:\n\t/i {paket|kod} [svojina]\n\t/package {paket|kod} [svojina]\n\t/a paket [svojina]\nPopravak instalacije:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paket|kod}\nUninstal programa:\n\t/uninstall {paket|kod} [svojina]\n\t/x {paket|kod} [svojina]\nReklama programa:\n\t/j[u|m] paket [/t pretvori] [/g id jezika]\nPrimeni peč:\n\t/p pečpaket [svojina]\n\t/p pečpaket /a paket [svojina]\nIzveštalj i Izgled Modifikatori za komande iznad:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] izvestaj\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistracija MSI Servisa:\n\t/y\n Uklanjanje MSI Servisa:\n\t/z\nPrikaži ovu Pomoć:\n\t/help\n\t/?\n"
+    11 "unesite koji folder sadrži %s"
+    12 "instalacija nedostaje"
+    13 "mrežni drajv nedostaje"
+    14 "dodatak sa:"
+    15 "izaberite koji folder sadrži %s"
+}
 
-LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Instalacija ne može biti otvorena.  Molimo proverite destinaciju fajla i pokušajte ponovo."
-       5 "putanja %s nije nađena"
-       9 "Ubacite disk %s"
-       10 "Windows Instalacija programa %s\n\nSvrha:\nmsiexec komanda {traženi parametar} [opcioni parametar]\n\nInstalacija proizvoda:\n\t/i {paket|kod} [svojina]\n\t/package {paket|kod} [svojina]\n\t/a paket [svojina]\nPopravak instalacije:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paket|kod}\nUninstal programa:\n\t/uninstall {paket|kod} [svojina]\n\t/x {paket|kod} [svojina]\nReklama programa:\n\t/j[u|m] paket [/t pretvori] [/g id jezika]\nPrimeni peč:\n\t/p pečpaket [svojina]\n\t/p pečpaket /a paket [svojina]\nIzveštalj i Izgled Modifikatori za komande iznad:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] izvestaj\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistracija MSI Servisa:\n\t/y\n Uklanjanje MSI Servisa:\n\t/z\nPrikaži ovu Pomoć:\n\t/help\n\t/?\n"
-       11 "unesite koji folder sadrži %s"
-       12 "instalacija nedostaje"
-       13 "mrežni drajv nedostaje"
-       14 "dodatak sa:"
-       15 "izaberite koji folder sadrži %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
 
 LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC
 
 STRINGTABLE
 {
-       4 "Инсталација не може бити отворена. Молимо проверите дестинацију фајла и покушајте поново."
-       5 "путања %s није нађена"
-       9 "Убаците диск %s"
-       10 "Виндовс Инсталација програма %s\n\nСврха:\nmsiexec команда {тражени параметар} [опциони параметар]\n\nИнсталација производа:\n\t/i {пакет|код} [својина]\n\t/package {пакет|код} [својина]\n\t/a пакет [svojina]\nПоправак инсталације:\n\t/f[p|o|e|d|c|a|u|m|s|v] {пакет|код}\nБрисање програма:\n\t/uninstall {пакет|код} [svojina]\n\t/x {пакет|код} [својина]\nРеклама програма:\n\t/j[u|m] пакет [/t transform] [/g languageid]\nПримени печ:\n\t/p печпакет [својина]\n\t/p печпакет /a пакет [својина]\nИзвестај и Изглед Модификатора за команде изнад:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] извештај\n\t/q{|n|b|r|f|n+|b+|b-}\nРегистрација МСИ Сервиса:\n\t/y\nУклањање МСИ Сервиса:\n\t/z\nПрикажи ову Помоћ:\n\t/help\n\t/?\n"
-       11 "Унесите који фолдер садржи %s"
-       12 "Инсталација недостаје"
-       13 "Мрежни драјв недостаје"
-       14 "Додатак са:"
-       15 "Изаберите који фолдер садржи %s"
+    4 "Инсталација не може бити отворена. Молимо проверите дестинацију фајла и покушајте поново."
+    5 "путања %s није нађена"
+    9 "Убаците диск %s"
+    10 "Виндовс Инсталација програма %s\n\nСврха:\nmsiexec команда {тражени параметар} [опциони параметар]\n\nИнсталација производа:\n\t/i {пакет|код} [својина]\n\t/package {пакет|код} [својина]\n\t/a пакет [svojina]\nПоправак инсталације:\n\t/f[p|o|e|d|c|a|u|m|s|v] {пакет|код}\nБрисање програма:\n\t/uninstall {пакет|код} [svojina]\n\t/x {пакет|код} [својина]\nРеклама програма:\n\t/j[u|m] пакет [/t transform] [/g languageid]\nПримени печ:\n\t/p печпакет [својина]\n\t/p печпакет /a пакет [својина]\nИзвестај и Изглед Модификатора за команде изнад:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] извештај\n\t/q{|n|b|r|f|n+|b+|b-}\nРегистрација МСИ Сервиса:\n\t/y\nУклањање МСИ Сервиса:\n\t/z\nПрикажи ову Помоћ:\n\t/help\n\t/?\n"
+    11 "Унесите који фолдер садржи %s"
+    12 "Инсталација недостаје"
+    13 "Мрежни драјв недостаје"
+    14 "Додатак са:"
+    15 "Изаберите који фолдер садржи %s"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
+
+/* Standard action template strings */
+STRINGTABLE
+{
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 1b907e1..f4aa3a4 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Det angivna installationspaketet kunde inte öppnas.  Kontrollera filsökvägen och försök igen."
+    5 "sökvägen %s hittades inte"
+    9 "mata in %s"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "ange vilken mapp som innehåller %s"
+    12 "installationskälla för funktion saknar"
+    13 "nätverksenhet för funktion saknar"
+    14 "funktion från:"
+    15 "välj den mapp som innehåller %s"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Det angivna installationspaketet kunde inte öppnas.  Kontrollera filsökvägen och försök igen."
-       5 "sökvägen %s hittades inte"
-       9 "mata in %s"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "ange vilken mapp som innehåller %s"
-       12 "installationskälla för funktion saknar"
-       13 "nätverksenhet för funktion saknar"
-       14 "funktion från:"
-       15 "välj den mapp som innehåller %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index f53423d..14d8729 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
-
 LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
 
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Belirtilen kurulum paketi açılamadı. Lütfen, kütüğün yolunu denetleyiniz ve yeiden deneyiniz."
+    5 "%s yolu bulunamadı."
+    9 "%s diskini takınız."
+    10 "Windows Yükleyici %s\n\nKullanım:\nmsiexec komut {gerekli değişkenler} [seçimlik değişkenler]\n\nBir ürün yükle:\n\t/i {paket|ürün kodu} [husûsiyet]\n\t/package {paket|ürün kodu} [husûsiyet]\n\t/a paket [husûsiyet]\nBir kurulum onar:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paket|ürün kodu}\nBir ürün kaldır:\n\t/uninstall {paket|ürün kodu} [husûsiyet]\n\t/x {paket|ürün kodu} [husûsiyet]\nBir ürün bildir:\n\t/j[u|m] paket [/t dönüşüm] [/g dil kimliği]\nBir yama uygula:\n\t/p yama paketi [husûsiyet]\n\t/p yama paketi /a paket [husûsiyet]\nYukarıdaki komutlar için kayıt ve kullanıcı arayüzü tümleyicileri:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] kayıt kütüğü\n\t/q{|n|b|r|f|n+|b+|b-}\nMSI hizmetini sakla:\n\t/y\nMSI hizmetinin kaydını sil:\n\t/z\nBu yardımı görüntüle:\n\t/help\n\t/?\n"
+    11 "%s içeren dizini giriniz."
+    12 "Husûsiyet eksikliği için kurulum kaynağı"
+    13 "Husûsiyet eksikliği için ağ sürücüsü"
+    14 "Şuradan özellik:"
+    15 "%s içeren dizini seçiniz."
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Belirtilen kurulum paketi açılamadı. Lütfen, kütüğün yolunu denetleyiniz ve yeiden deneyiniz."
-       5 "%s yolu bulunamadı."
-       9 "%s diskini takınız."
-       10 "Windows Yükleyici %s\n\nKullanım:\nmsiexec komut {gerekli değişkenler} [seçimlik değişkenler]\n\nBir ürün yükle:\n\t/i {paket|ürün kodu} [husûsiyet]\n\t/package {paket|ürün kodu} [husûsiyet]\n\t/a paket [husûsiyet]\nBir kurulum onar:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paket|ürün kodu}\nBir ürün kaldır:\n\t/uninstall {paket|ürün kodu} [husûsiyet]\n\t/x {paket|ürün kodu} [husûsiyet]\nBir ürün bildir:\n\t/j[u|m] paket [/t dönüşüm] [/g dil kimliği]\nBir yama uygula:\n\t/p yama paketi [husûsiyet]\n\t/p yama paketi /a paket [husûsiyet]\nYukarıdaki komutlar için kayıt ve kullanıcı arayüzü tümleyicileri:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] kayıt kütüğü\n\t/q{|n|b|r|f|n+|b+|b-}\nMSI hizmetini sakla:\n\t/y\nMSI hizmetinin kaydını sil:\n\t/z\nBu yardımı görüntüle:\n\t/help\n\t/?\n"
-       11 "%s içeren dizini giriniz."
-       12 "Husûsiyet eksikliği için kurulum kaynağı"
-       13 "Husûsiyet eksikliği için ağ sürücüsü"
-       14 "Şuradan özellik:"
-       15 "%s içeren dizini seçiniz."
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 64135bd..bd293ee 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
+LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
 
-/* UTF-8 */
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "Не вдалося відкрити вказаний пакет інсталяції.  Перевірте шлях до файлу та спробуйте знов."
+    5 "шлях %s не знайдено"
+    9 "вставте диск %s"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "вкажіть папку, що містить %s"
+    12 "джерело встановлення даної можливості не вказане"
+    13 "мережевий диск для даної можливості не вказаний"
+    14 "можливість з:"
+    15 "виберіть папку, що містить %s"
+}
 
-LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "Не вдалося відкрити вказаний пакет інсталяції.  Перевірте шлях до файлу та спробуйте знов."
-       5 "шлях %s не знайдено"
-       9 "вставте диск %s"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "вкажіть папку, що містить %s"
-       12 "джерело встановлення даної можливості не вказане"
-       13 "мережевий диск для даної можливості не вказаний"
-       14 "можливість з:"
-       15 "виберіть папку, що містить %s"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index 9d028d5..7116865 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "windef.h"
+LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
 
-/* Chinese text is encoded in UTF-8 */
-#pragma code_page(65001)
+STRINGTABLE
+{
+    4 "不能打开所指定的安装软件包. 请检查文件路径后再试."
+    5 "路径 %s 没找到"
+    9 "插入软盘 %s"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "输入包含 %s 的文件夹"
+    12 "本功能的安装源不存在"
+    13 "本功能的网络驱动器不存在"
+    14 "功能来自:"
+    15 "选择包含 %s 的文件夹"
+}
 
-LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
 
+/* Standard action template strings */
 STRINGTABLE
 {
-       4 "不能打开所指定的安装软件包. 请检查文件路径后再试."
-       5 "路径 %s 没找到"
-       9 "插入软盘 %s"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "输入包含 %s 的文件夹"
-       12 "本功能的安装源不存在"
-       13 "本功能的网络驱动器不存在"
-       14 "功能来自:"
-       15 "选择包含 %s 的文件夹"
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
 
 LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
 
 STRINGTABLE
 {
-       4 "不能開啟所指定的安裝軟件包. 請檢查檔案路徑後再試."
-       5 "路徑 %s 沒找到"
-       9 "插入軟碟 %s"
-       10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
-       11 "輸入包含 %s 的檔案夾"
-       12 "本功能的安裝源不存在"
-       13 "本功能的網路儲存槽不存在"
-       14 "功能來自:"
-       15 "選擇包含 %s 的檔案夾"
+    4 "不能開啟所指定的安裝軟件包. 請檢查檔案路徑後再試."
+    5 "路徑 %s 沒找到"
+    9 "插入軟碟 %s"
+    10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
+    11 "輸入包含 %s 的檔案夾"
+    12 "本功能的安裝源不存在"
+    13 "本功能的網路儲存槽不存在"
+    14 "功能來自:"
+    15 "選擇包含 %s 的檔案夾"
+}
+
+/* Error messages */
+STRINGTABLE
+{
+    IDS_FATALEXIT "{{Fatal error: }}"
+    IDS_ERROR "{{Error [1]. }}"
+    IDS_WARNING "Warning [1]."
+    IDS_INFO "Info [1]."
+    IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
+    IDS_OUTOFDISKSPACE "{{Disk full: }}"
+    IDS_ACTIONSTART "Action [Time]: [1]. [2]"
+    IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
+    IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
+    IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
+    IDS_INFO_LOGGINGSTART "=== Logging started: [Date]  [Time] ==="
+
+    IDS_ERR_INSERTDISK "Please insert the disk: [2]"
+    IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
+}
+
+/* Standard action description strings */
+STRINGTABLE
+{
+    IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
+    IDS_DESC_APPSEARCH "Searching for installed applications"
+    IDS_DESC_BINDIMAGE "Binding executables"
+    IDS_DESC_CCPSEARCH "Searching for qualifying products"
+    IDS_DESC_COSTFINALIZE "Computing space requirements"
+    IDS_DESC_COSTINITIALIZE "Computing space requirements"
+    IDS_DESC_CREATEFOLDERS "Creating folders"
+    IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
+    IDS_DESC_DELETESERVICES "Deleting services"
+    IDS_DESC_DUPLICATEFILES "Creating duplicate files"
+    IDS_DESC_FILECOST "Computing space requirements"
+    IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
+    IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
+    IDS_DESC_INSTALLFILES "Copying new files"
+    IDS_DESC_INSTALLODBC "Installing ODBC components"
+    IDS_DESC_INSTALLSERVICES "Installing new services"
+    IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
+    IDS_DESC_INSTALLVALIDATE "Validating install"
+    IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
+    IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
+    IDS_DESC_MOVEFILES "Moving files"
+    IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
+    IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
+    IDS_DESC_PATCHFILES "Patching files"
+    IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
+    IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
+    IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
+    IDS_DESC_PUBLISHPRODUCT "Publishing product information"
+    IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
+    IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
+    IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
+    IDS_DESC_REGISTERFONTS "Registering fonts"
+    IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
+    IDS_DESC_REGISTERPRODUCT "Registering product"
+    IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
+    IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
+    IDS_DESC_REGISTERUSER "Registering user"
+    IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
+    IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
+    IDS_DESC_REMOVEFILES "Removing files"
+    IDS_DESC_REMOVEFOLDERS "Removing folders"
+    IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
+    IDS_DESC_REMOVEODBC "Removing ODBC components"
+    IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
+    IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
+    IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
+    IDS_DESC_SELFREGMODULES "Registering modules"
+    IDS_DESC_SELFUNREGMODULES "Unregistering modules"
+    IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
+    IDS_DESC_STARTSERVICES "Starting services"
+    IDS_DESC_STOPSERVICES "Stopping services"
+    IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
+    IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
+    IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
+    IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
+    IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
+    IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
+    IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
+    IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
+    IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
+    IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
+    IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
+    IDS_DESC_WRITEINIVALUES "Writing INI files values"
+    IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
+}
+
+/* Standard action template strings */
+STRINGTABLE
+{
+    IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
+    IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
+    IDS_TEMP_BINDIMAGE "File: [1]"
+    IDS_TEMP_CREATEFOLDERS "Folder: [1]"
+    IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_DELETESERVICES "Service: [1]"
+    IDS_TEMP_DUPLICATEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
+    IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
+    IDS_TEMP_INSTALLFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_INSTALLSERVICES "Service: [2]"
+    IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1],  Dependencies: [2]"
+    IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
+    IDS_TEMP_MOVEFILES "File: [1],  Directory: [9],  Size: [6]"
+    IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
+    IDS_TEMP_PATCHFILES "File: [1],  Directory: [2],  Size: [3]"
+    IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
+    IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_REGISTERFONTS "Font: [1]"
+    IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
+    IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
+    IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
+    IDS_TEMP_REMOVEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
+    IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
+    IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
+    IDS_TEMP_STARTSERVICES "Service: [1]"
+    IDS_TEMP_STOPSERVICES "Service: [1]"
+    IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
+    IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
+    IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
+    IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
+    IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
+    IDS_TEMP_UNREGISTERFONTS "Font: [1]"
+    IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
+    IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
+    IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
+    IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
+    IDS_TEMP_WRITEINIVALUES "File: [1],  Section: [2],  Key: [3], Value: [4]"
+    IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
 }
index c975f73..627ced1 100644 (file)
@@ -67,44 +67,22 @@ static BOOL source_matches_volume(MSIMEDIAINFO *mi, LPCWSTR source_root)
 
 static UINT msi_change_media(MSIPACKAGE *package, MSIMEDIAINFO *mi)
 {
-    LPWSTR error, error_dialog;
+    MSIRECORD *record;
     LPWSTR source_dir;
-    UINT r = ERROR_SUCCESS;
+    UINT r = IDRETRY;
 
-    static const WCHAR error_prop[] = {'E','r','r','o','r','D','i','a','l','o','g',0};
-
-    if ((package->ui_level & INSTALLUILEVEL_MASK) == INSTALLUILEVEL_NONE &&
-        !gUIHandlerA && !gUIHandlerW && !gUIHandlerRecord) return ERROR_SUCCESS;
-
-    error = msi_build_error_string(package, 1302, 1, mi->disk_prompt);
-    error_dialog = msi_dup_property(package->db, error_prop);
     source_dir = msi_dup_property(package->db, szSourceDir);
+    record = MSI_CreateRecord(2);
 
-    while (r == ERROR_SUCCESS && !source_matches_volume(mi, source_dir))
+    while (r == IDRETRY && !source_matches_volume(mi, source_dir))
     {
-        r = msi_spawn_error_dialog(package, error_dialog, error);
-
-        if (gUIHandlerW)
-        {
-            gUIHandlerW(gUIContext, MB_RETRYCANCEL | INSTALLMESSAGE_ERROR, error);
-        }
-        else if (gUIHandlerA)
-        {
-            char *msg = strdupWtoA(error);
-            gUIHandlerA(gUIContext, MB_RETRYCANCEL | INSTALLMESSAGE_ERROR, msg);
-            msi_free(msg);
-        }
-        else if (gUIHandlerRecord)
-        {
-            MSIHANDLE rec = MsiCreateRecord(1);
-            MsiRecordSetStringW(rec, 0, error);
-            gUIHandlerRecord(gUIContext, MB_RETRYCANCEL | INSTALLMESSAGE_ERROR, rec);
-            MsiCloseHandle(rec);
-        }
+        MSI_RecordSetStringW(record, 0, NULL);
+        MSI_RecordSetInteger(record, 1, MSIERR_CABNOTFOUND);
+        MSI_RecordSetStringW(record, 2, mi->disk_prompt);
+        r = MSI_ProcessMessage(package, INSTALLMESSAGE_ERROR | MB_RETRYCANCEL, record);
     }
 
-    msi_free(error);
-    msi_free(error_dialog);
+    msiobj_release(&record->hdr);
     msi_free(source_dir);
 
     return r;
index 66bda28..092aac8 100644 (file)
@@ -2293,7 +2293,16 @@ INSTALLUILEVEL WINAPI MsiSetInternalUI(INSTALLUILEVEL dwUILevel, HWND *phWnd)
 
     TRACE("%08x %p\n", dwUILevel, phWnd);
 
-    gUILevel = dwUILevel;
+    if (dwUILevel & ~(INSTALLUILEVEL_MASK|INSTALLUILEVEL_HIDECANCEL|INSTALLUILEVEL_PROGRESSONLY|
+                      INSTALLUILEVEL_ENDDIALOG|INSTALLUILEVEL_SOURCERESONLY))
+    {
+        FIXME("Unrecognized flags %08x\n", dwUILevel);
+        return INSTALLUILEVEL_NOCHANGE;
+    }
+
+    if (dwUILevel != INSTALLUILEVEL_NOCHANGE)
+        gUILevel = dwUILevel;
+
     if (phWnd)
     {
         gUIhwnd = *phWnd;
@@ -4198,8 +4207,8 @@ UINT WINAPI MsiSetExternalUIRecord( INSTALLUI_HANDLER_RECORD handler,
         *prev = gUIHandlerRecord;
 
     gUIHandlerRecord = handler;
-    gUIFilter        = filter;
-    gUIContext       = context;
+    gUIFilterRecord  = filter;
+    gUIContextRecord = context;
 
     return ERROR_SUCCESS;
 }
index 7bcadb2..97a76d1 100644 (file)
 
 #include <windef.h>
 
-LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
-
-STRINGTABLE
-{
-       4 "The specified installation package could not be opened. Please check the file path and try again."
-       5 "path %s not found"
-       9 "insert disk %s"
-       10 "Windows Installer %s\n\n\
-Usage:\n\
-msiexec command {required parameter} [optional parameter]\n\n\
-Install a product:\n\
-\t/i {package|product_code} [property]\n\
-\t/package {package|product_code} [property]\n\
-\t/a package [property]\n\
-Repair an installation:\n\
-\t/f[p|o|e|d|c|a|u|m|s|v] {package|product_code}\n\
-Uninstall a product:\n\
-\t/uninstall {package|product_code} [property]\n\
-\t/x {package|product_code} [property]\n\
-Advertise a product:\n\
-\t/j[u|m] package [/t transform] [/g languageid]\n\
-Apply a patch:\n\
-\t/p patch_package [property]\n\
-\t/p patch_package /a package [property]\n\
-Log and user interface modifiers for the above commands:\n\
-\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] log_file\n\
-\t/q{|n|b|r|f|n+|b+|b-}\n\
-Register the MSI Service:\n\
-\t/y\n\
-Unregister the MSI Service:\n\
-\t/z\n\
-Display this help:\n\
-\t/help\n\
-\t/?\n"
-       11 "enter which folder contains %s"
-       12 "install source for feature missing"
-       13 "network drive for feature missing"
-       14 "feature from:"
-       15 "choose which folder contains %s"
-}
+#include "resource.h"
 
 LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
 
@@ -90,3 +51,5 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
 #define WINE_PRODUCTVERSION_STR "4.5.6001.22308"
 
 #include <wine/wine_common_ver.rc>
+
+#include "rsrc.rc"
index 0bf9921..eaab63d 100644 (file)
@@ -27,13 +27,15 @@ WINE_DEFAULT_DEBUG_CHANNEL(msi);
 static LONG dll_count;
 
 /* the UI level */
-INSTALLUILEVEL           gUILevel         = INSTALLUILEVEL_BASIC;
+INSTALLUILEVEL           gUILevel         = INSTALLUILEVEL_DEFAULT;
 HWND                     gUIhwnd          = 0;
 INSTALLUI_HANDLERA       gUIHandlerA      = NULL;
 INSTALLUI_HANDLERW       gUIHandlerW      = NULL;
 INSTALLUI_HANDLER_RECORD gUIHandlerRecord = NULL;
 DWORD                    gUIFilter        = 0;
+DWORD                    gUIFilterRecord  = 0;
 LPVOID                   gUIContext       = NULL;
+LPVOID                   gUIContextRecord = NULL;
 WCHAR                   *gszLogFile       = NULL;
 HINSTANCE msi_hInstance;
 
index 2595e4d..d680a02 100644 (file)
@@ -52,6 +52,8 @@
 #include <wine/list.h>
 #include <wine/unicode.h>
 
+#include "resource.h"
+
 static const BOOL is_64bit = sizeof(void *) > sizeof(int);
 BOOL is_wow64 DECLSPEC_HIDDEN;
 
@@ -404,6 +406,8 @@ typedef struct tagMSIPACKAGE
     struct list cabinet_streams;
     LPWSTR ActionFormat;
     LPWSTR LastAction;
+    LPWSTR LastActionTemplate;
+    UINT   LastActionResult;
     UINT   action_progress_increment;
     HANDLE log_file;
     IAssemblyCache *cache_net[CLR_VERSION_MAX];
@@ -426,7 +430,6 @@ typedef struct tagMSIPACKAGE
     BOOL delete_on_close;
 
     INSTALLUILEVEL ui_level;
-    UINT CurrentInstallState;
     msi_dialog *dialog;
     LPWSTR next_dialog;
     float center_x;
@@ -814,7 +817,8 @@ extern void msi_free_patchinfo( MSIPATCHINFO *patch ) DECLSPEC_HIDDEN;
 
 /* action internals */
 extern UINT MSI_InstallPackage( MSIPACKAGE *, LPCWSTR, LPCWSTR ) DECLSPEC_HIDDEN;
-extern UINT ACTION_DialogBox( MSIPACKAGE*, LPCWSTR) DECLSPEC_HIDDEN;
+extern INT ACTION_ShowDialog( MSIPACKAGE*, LPCWSTR) DECLSPEC_HIDDEN;
+extern INT ACTION_DialogBox( MSIPACKAGE*, LPCWSTR) DECLSPEC_HIDDEN;
 extern UINT ACTION_ForceReboot(MSIPACKAGE *package) DECLSPEC_HIDDEN;
 extern UINT MSI_Sequence( MSIPACKAGE *package, LPCWSTR szTable ) DECLSPEC_HIDDEN;
 extern UINT MSI_SetFeatureStates( MSIPACKAGE *package ) DECLSPEC_HIDDEN;
@@ -851,6 +855,7 @@ extern BOOL MSI_RecordsAreEqual( MSIRECORD *, MSIRECORD * ) DECLSPEC_HIDDEN;
 extern BOOL MSI_RecordsAreFieldsEqual(MSIRECORD *a, MSIRECORD *b, UINT field) DECLSPEC_HIDDEN;
 extern UINT msi_record_set_string(MSIRECORD *, UINT, const WCHAR *, int) DECLSPEC_HIDDEN;
 extern const WCHAR *msi_record_get_string(const MSIRECORD *, UINT, int *) DECLSPEC_HIDDEN;
+extern void dump_record(MSIRECORD *) DECLSPEC_HIDDEN;
 
 /* stream internals */
 extern void enum_stream_names( IStorage *stg ) DECLSPEC_HIDDEN;
@@ -883,6 +888,7 @@ extern UINT MSI_SetInstallLevel( MSIPACKAGE *package, int iInstallLevel ) DECLSP
 extern MSIPACKAGE *MSI_CreatePackage( MSIDATABASE *, LPCWSTR ) DECLSPEC_HIDDEN;
 extern UINT MSI_OpenPackageW( LPCWSTR szPackage, MSIPACKAGE **pPackage ) DECLSPEC_HIDDEN;
 extern UINT MSI_SetTargetPathW( MSIPACKAGE *, LPCWSTR, LPCWSTR ) DECLSPEC_HIDDEN;
+extern INT MSI_ProcessMessageVerbatim( MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD * ) DECLSPEC_HIDDEN;
 extern INT MSI_ProcessMessage( MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD * ) DECLSPEC_HIDDEN;
 extern MSICONDITION MSI_EvaluateConditionW( MSIPACKAGE *, LPCWSTR ) DECLSPEC_HIDDEN;
 extern UINT MSI_GetComponentStateW( MSIPACKAGE *, LPCWSTR, INSTALLSTATE *, INSTALLSTATE * ) DECLSPEC_HIDDEN;
@@ -961,7 +967,6 @@ extern LONG msi_reg_set_subkey_val( HKEY hkey, LPCWSTR path, LPCWSTR name, LPCWS
 extern void msi_dialog_check_messages( HANDLE ) DECLSPEC_HIDDEN;
 extern void msi_dialog_destroy( msi_dialog* ) DECLSPEC_HIDDEN;
 extern void msi_dialog_unregister_class( void ) DECLSPEC_HIDDEN;
-extern UINT msi_spawn_error_dialog( MSIPACKAGE*, LPWSTR, LPWSTR ) DECLSPEC_HIDDEN;
 
 /* summary information */
 extern UINT msi_get_suminfo( IStorage *stg, UINT uiUpdateCount, MSISUMMARYINFO **si ) DECLSPEC_HIDDEN;
@@ -987,7 +992,9 @@ extern INSTALLUI_HANDLERA gUIHandlerA DECLSPEC_HIDDEN;
 extern INSTALLUI_HANDLERW gUIHandlerW DECLSPEC_HIDDEN;
 extern INSTALLUI_HANDLER_RECORD gUIHandlerRecord DECLSPEC_HIDDEN;
 extern DWORD gUIFilter DECLSPEC_HIDDEN;
+extern DWORD gUIFilterRecord DECLSPEC_HIDDEN;
 extern LPVOID gUIContext DECLSPEC_HIDDEN;
+extern LPVOID gUIContextRecord DECLSPEC_HIDDEN;
 extern WCHAR *gszLogFile DECLSPEC_HIDDEN;
 extern HINSTANCE msi_hInstance DECLSPEC_HIDDEN;
 
@@ -1047,7 +1054,6 @@ extern WCHAR *msi_create_component_advertise_string(MSIPACKAGE *, MSICOMPONENT *
 extern void ACTION_UpdateComponentStates(MSIPACKAGE *package, MSIFEATURE *feature) DECLSPEC_HIDDEN;
 extern UINT msi_register_unique_action(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN;
 extern BOOL msi_action_is_unique(const MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN;
-extern WCHAR *msi_build_error_string(MSIPACKAGE *, UINT, DWORD, ...) DECLSPEC_HIDDEN;
 extern UINT msi_set_last_used_source(LPCWSTR product, LPCWSTR usersid,
                         MSIINSTALLCONTEXT context, DWORD options, LPCWSTR value) DECLSPEC_HIDDEN;
 extern UINT msi_create_empty_local_file(LPWSTR path, LPCWSTR suffix) DECLSPEC_HIDDEN;
@@ -1063,6 +1069,7 @@ extern WCHAR *msi_get_assembly_path(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
 extern WCHAR *msi_font_version_from_file(const WCHAR *) DECLSPEC_HIDDEN;
 extern WCHAR **msi_split_string(const WCHAR *, WCHAR) DECLSPEC_HIDDEN;
 extern UINT msi_set_original_database_property(MSIDATABASE *, const WCHAR *) DECLSPEC_HIDDEN;
+extern WCHAR *msi_get_error_message(MSIDATABASE *, int) DECLSPEC_HIDDEN;
 
 /* media */
 
@@ -1112,7 +1119,6 @@ extern DWORD call_script(MSIHANDLE hPackage, INT type, LPCWSTR script, LPCWSTR f
 
 /* User interface messages from the actions */
 extern void msi_ui_progress(MSIPACKAGE *, int, int, int, int) DECLSPEC_HIDDEN;
-extern void msi_ui_actiondata(MSIPACKAGE