https://git.reactos.org/?p=reactos.git;a=commitdiff;h=71bffdcde96c8b1769bfc6...
commit 71bffdcde96c8b1769bfc6b2e8c7888663ad265e Author: Amine Khaldi amine.khaldi@reactos.org AuthorDate: Sun Oct 8 09:14:40 2017 +0100
[MSI] Sync with Wine Staging 2.16. CORE-13762
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. --- dll/win32/msi/action.c | 529 +++++++++++++++++++++---------------------- dll/win32/msi/appsearch.c | 2 +- dll/win32/msi/assembly.c | 4 +- dll/win32/msi/classes.c | 16 +- dll/win32/msi/custom.c | 2 +- dll/win32/msi/database.c | 17 +- dll/win32/msi/dialog.c | 247 +++++++++----------- dll/win32/msi/files.c | 12 +- dll/win32/msi/font.c | 4 +- dll/win32/msi/format.c | 89 ++++---- dll/win32/msi/lang/msi_Bg.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_Da.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_De.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_En.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_Es.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_Fi.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_Fr.rc | 165 ++++++++++++-- dll/win32/msi/lang/msi_He.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_Hu.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_It.rc | 165 ++++++++++++-- dll/win32/msi/lang/msi_Ja.rc | 160 ++++++++++++- dll/win32/msi/lang/msi_Ko.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_Lt.rc | 165 ++++++++++++-- dll/win32/msi/lang/msi_Nl.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_No.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_Pl.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_Pt.rc | 326 ++++++++++++++++++++++++-- dll/win32/msi/lang/msi_Ro.rc | 192 +++++++++++++--- dll/win32/msi/lang/msi_Ru.rc | 165 ++++++++++++-- dll/win32/msi/lang/msi_Si.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_Sq.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_Sr.rc | 326 ++++++++++++++++++++++++-- dll/win32/msi/lang/msi_Sv.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_Tr.rc | 164 +++++++++++++- dll/win32/msi/lang/msi_Uk.rc | 165 ++++++++++++-- dll/win32/msi/lang/msi_Zh.rc | 327 ++++++++++++++++++++++++-- dll/win32/msi/media.c | 40 +--- dll/win32/msi/msi.c | 15 +- dll/win32/msi/msi.rc | 43 +--- dll/win32/msi/msi_main.c | 4 +- dll/win32/msi/msipriv.h | 16 +- dll/win32/msi/package.c | 499 +++++++++++++++++++++++++++++----------- dll/win32/msi/record.c | 38 +++- dll/win32/msi/resource.h | 161 +++++++++++++ dll/win32/msi/rsrc.rc | 81 +++++++ dll/win32/msi/table.c | 19 -- dll/win32/msi/upgrade.c | 2 +- media/doc/README.WINE | 2 +- 48 files changed, 5540 insertions(+), 1082 deletions(-)
diff --git a/dll/win32/msi/action.c b/dll/win32/msi/action.c index cd1be04572..8c17f3b512 100644 --- a/dll/win32/msi/action.c +++ b/dll/win32/msi/action.c @@ -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"); diff --git a/dll/win32/msi/appsearch.c b/dll/win32/msi/appsearch.c index b38bf2781f..e27fa74540 100644 --- a/dll/win32/msi/appsearch.c +++ b/dll/win32/msi/appsearch.c @@ -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; diff --git a/dll/win32/msi/assembly.c b/dll/win32/msi/assembly.c index 84026c29e0..c652b3040e 100644 --- a/dll/win32/msi/assembly.c +++ b/dll/win32/msi/assembly.c @@ -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; diff --git a/dll/win32/msi/classes.c b/dll/win32/msi/classes.c index 1b138ebc5b..9b5794fdf3 100644 --- a/dll/win32/msi/classes.c +++ b/dll/win32/msi/classes.c @@ -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; diff --git a/dll/win32/msi/custom.c b/dll/win32/msi/custom.c index 565feecea6..3dffb8680a 100644 --- a/dll/win32/msi/custom.c +++ b/dll/win32/msi/custom.c @@ -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); diff --git a/dll/win32/msi/database.c b/dll/win32/msi/database.c index b53762e7f4..a94cebdbdf 100644 --- a/dll/win32/msi/database.c +++ b/dll/win32/msi/database.c @@ -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 ) diff --git a/dll/win32/msi/dialog.c b/dll/win32/msi/dialog.c index bed62fe5d7..8b62bb0a8f 100644 --- a/dll/win32/msi/dialog.c +++ b/dll/win32/msi/dialog.c @@ -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 }, diff --git a/dll/win32/msi/files.c b/dll/win32/msi/files.c index 981d568bd8..635bff6198 100644 --- a/dll/win32/msi/files.c +++ b/dll/win32/msi/files.c @@ -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 ); }
diff --git a/dll/win32/msi/font.c b/dll/win32/msi/font.c index 999f884b28..8a91ecab94 100644 --- a/dll/win32/msi/font.c +++ b/dll/win32/msi/font.c @@ -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? */ diff --git a/dll/win32/msi/format.c b/dll/win32/msi/format.c index 142f356155..10baa0ef04 100644 --- a/dll/win32/msi/format.c +++ b/dll/win32/msi/format.c @@ -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; diff --git a/dll/win32/msi/lang/msi_Bg.rc b/dll/win32/msi/lang/msi_Bg.rc index e5d5df7c00..46ab527b80 100644 --- a/dll/win32/msi/lang/msi_Bg.rc +++ b/dll/win32/msi/lang/msi_Bg.rc @@ -18,21 +18,161 @@ * 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 [...] + 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 pa [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_Da.rc b/dll/win32/msi/lang/msi_Da.rc index fc37ff0bb9..b14bd9f285 100644 --- a/dll/win32/msi/lang/msi_Da.rc +++ b/dll/win32/msi/lang/msi_Da.rc @@ -18,21 +18,161 @@ * 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 [...] + 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 pa [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_De.rc b/dll/win32/msi/lang/msi_De.rc index 558107c57f..0d486f3f87 100644 --- a/dll/win32/msi/lang/msi_De.rc +++ b/dll/win32/msi/lang/msi_De.rc @@ -19,21 +19,161 @@ * 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 Sprac [...] + 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 Sprachke [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_En.rc b/dll/win32/msi/lang/msi_En.rc index 2b520e98d1..d7972f7409 100644 --- a/dll/win32/msi/lang/msi_En.rc +++ b/dll/win32/msi/lang/msi_En.rc @@ -19,21 +19,161 @@ * 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 [...] + 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 pat [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_Es.rc b/dll/win32/msi/lang/msi_Es.rc index f81e26096a..c9b3392b4c 100644 --- a/dll/win32/msi/lang/msi_Es.rc +++ b/dll/win32/msi/lang/msi_Es.rc @@ -18,21 +18,161 @@ * 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 [...] + 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 pa [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_Fi.rc b/dll/win32/msi/lang/msi_Fi.rc index 4229e2dc9c..233aa2c3ae 100644 --- a/dll/win32/msi/lang/msi_Fi.rc +++ b/dll/win32/msi/lang/msi_Fi.rc @@ -18,21 +18,161 @@ * 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 [...] + 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 ko [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_Fr.rc b/dll/win32/msi/lang/msi_Fr.rc index ca1f4d6d3e..026baa11ea 100644 --- a/dll/win32/msi/lang/msi_Fr.rc +++ b/dll/win32/msi/lang/msi_Fr.rc @@ -19,22 +19,161 @@ * 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 [...] + 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 tra [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_He.rc b/dll/win32/msi/lang/msi_He.rc index be903327c2..492e2aae4c 100644 --- a/dll/win32/msi/lang/msi_He.rc +++ b/dll/win32/msi/lang/msi_He.rc @@ -21,21 +21,161 @@ * 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 [...] + 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 pat [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_Hu.rc b/dll/win32/msi/lang/msi_Hu.rc index 4354013251..70ab46f9d9 100644 --- a/dll/win32/msi/lang/msi_Hu.rc +++ b/dll/win32/msi/lang/msi_Hu.rc @@ -18,21 +18,161 @@ * 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 [...] + 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 pa [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_It.rc b/dll/win32/msi/lang/msi_It.rc index bc1ad8470e..4a437a8ab2 100644 --- a/dll/win32/msi/lang/msi_It.rc +++ b/dll/win32/msi/lang/msi_It.rc @@ -18,22 +18,161 @@ * 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 [...] + 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 pa [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_Ja.rc b/dll/win32/msi/lang/msi_Ja.rc index c0759563e8..c3ac0197d5 100644 --- a/dll/win32/msi/lang/msi_Ja.rc +++ b/dll/win32/msi/lang/msi_Ja.rc @@ -1,15 +1,157 @@ 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]" } diff --git a/dll/win32/msi/lang/msi_Ko.rc b/dll/win32/msi/lang/msi_Ko.rc index fc72a65ee5..47d29b9202 100644 --- a/dll/win32/msi/lang/msi_Ko.rc +++ b/dll/win32/msi/lang/msi_Ko.rc @@ -20,21 +20,161 @@ * 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위의 명령어를 위한 L [...] + 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 [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_Lt.rc b/dll/win32/msi/lang/msi_Lt.rc index 57de188ed6..597b360ab2 100644 --- a/dll/win32/msi/lang/msi_Lt.rc +++ b/dll/win32/msi/lang/msi_Lt.rc @@ -18,22 +18,161 @@ * 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_ident [...] + 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_identifi [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_Nl.rc b/dll/win32/msi/lang/msi_Nl.rc index 4157d4a41f..29197e8916 100644 --- a/dll/win32/msi/lang/msi_Nl.rc +++ b/dll/win32/msi/lang/msi_Nl.rc @@ -18,21 +18,161 @@ * 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 lang [...] + 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 languag [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_No.rc b/dll/win32/msi/lang/msi_No.rc index 733525dba6..8c020bfe61 100644 --- a/dll/win32/msi/lang/msi_No.rc +++ b/dll/win32/msi/lang/msi_No.rc @@ -18,21 +18,161 @@ * 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 [...] + 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 pa [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_Pl.rc b/dll/win32/msi/lang/msi_Pl.rc index 2f43e6c682..5bbf4b07c3 100644 --- a/dll/win32/msi/lang/msi_Pl.rc +++ b/dll/win32/msi/lang/msi_Pl.rc @@ -19,21 +19,161 @@ * 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 [...] + 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 pa [...] - 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]" } diff --git a/dll/win32/msi/lang/msi_Pt.rc b/dll/win32/msi/lang/msi_Pt.rc index 22147b87e6..1d919c993b 100644 --- a/dll/win32/msi/lang/msi_Pt.rc +++ b/dll/win32/msi/lang/msi_Pt.rc @@ -20,36 +20,320 @@ * 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 language [...] + 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] [...] - 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 pa [...] - 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 [...] + 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]" ... 3293 lines suppressed ...