[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.
This commit is contained in:
Amine Khaldi
2017-10-08 11:31:31 +01:00
parent 154006810e
commit 71bffdcde9
48 changed files with 5569 additions and 1111 deletions
+256 -269
View File
@@ -140,49 +140,56 @@ static const WCHAR szValidateProductID[] =
static const WCHAR szWriteEnvironmentStrings[] = 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}; {'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[] = HANDLE started;
{'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ', HANDLE stopped;
'`','A','c','t','i','o', 'n','T','e','x','t','`',' ', HANDLE thread;
'W','H','E','R','E', ' ','`','A','c','t','i','o','n','`',' ','=', };
' ','\'','%','s','\'',0};
MSIRECORD * row;
row = MSI_QueryGetRecord( package->db, Query_t, action ); static INT ui_actionstart(MSIPACKAGE *package, LPCWSTR action, LPCWSTR description, LPCWSTR template)
if (!row) {
return; WCHAR query[] = {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONSTART, row); '`','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); msiobj_release(&row->hdr);
return rc;
} }
static void ui_actioninfo(MSIPACKAGE *package, LPCWSTR action, BOOL start, static void ui_actioninfo(MSIPACKAGE *package, LPCWSTR action, BOOL start,
UINT rc) INT rc)
{ {
MSIRECORD * row; MSIRECORD *row;
static const WCHAR template_s[]= WCHAR *template;
{'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); template = msi_get_error_message(package->db, start ? MSIERR_INFO_ACTIONSTART : MSIERR_INFO_ACTIONENDED);
if (start)
sprintfW(message,template_s,timet,action); row = MSI_CreateRecord(2);
else if (!row) return;
sprintfW(message,template_e,timet,action,rc); MSI_RecordSetStringW(row, 0, template);
MSI_RecordSetStringW(row, 1, action);
row = MSI_CreateRecord(1); MSI_RecordSetInteger(row, 2, start ? package->LastActionResult : rc);
MSI_RecordSetStringW(row,1,message);
MSI_ProcessMessage(package, INSTALLMESSAGE_INFO, row); MSI_ProcessMessage(package, INSTALLMESSAGE_INFO, row);
msiobj_release(&row->hdr); msiobj_release(&row->hdr);
msi_free(template);
if (!start) package->LastActionResult = rc;
} }
enum parse_state enum parse_state
@@ -493,9 +500,6 @@ static UINT ITERATE_Actions(MSIRECORD *row, LPVOID param)
msi_dialog_check_messages( NULL ); msi_dialog_check_messages( NULL );
if (package->CurrentInstallState != ERROR_SUCCESS)
rc = package->CurrentInstallState;
if (rc == ERROR_FUNCTION_NOT_CALLED) if (rc == ERROR_FUNCTION_NOT_CALLED)
rc = ERROR_SUCCESS; rc = ERROR_SUCCESS;
@@ -601,18 +605,42 @@ static UINT ACTION_ProcessUISequence(MSIPACKAGE *package)
/******************************************************** /********************************************************
* ACTION helper functions and functions that perform the actions * 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; 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 ); 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; uirc = ACTION_ShowDialog(package, action);
ret = TRUE; 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 ) 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 ); 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 ) INSTALLSTATE msi_get_component_action( MSIPACKAGE *package, MSICOMPONENT *comp )
{ {
if (!comp->Enabled) if (!comp->Enabled)
@@ -807,7 +800,7 @@ static UINT ITERATE_CreateFolders(MSIRECORD *row, LPVOID param)
uirow = MSI_CreateRecord(1); uirow = MSI_CreateRecord(1);
MSI_RecordSetStringW(uirow, 1, dir); MSI_RecordSetStringW(uirow, 1, dir);
msi_ui_actiondata(package, szCreateFolders, uirow); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release(&uirow->hdr); msiobj_release(&uirow->hdr);
full_path = msi_get_target_folder( package, dir ); full_path = msi_get_target_folder( package, dir );
@@ -895,7 +888,7 @@ static UINT ITERATE_RemoveFolders( MSIRECORD *row, LPVOID param )
uirow = MSI_CreateRecord( 1 ); uirow = MSI_CreateRecord( 1 );
MSI_RecordSetStringW( uirow, 1, dir ); MSI_RecordSetStringW( uirow, 1, dir );
msi_ui_actiondata( package, szRemoveFolders, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
folder = msi_get_loaded_folder( package, dir ); 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 ) static UINT execute_script_action( MSIPACKAGE *package, UINT script, UINT index )
{ {
const WCHAR *action = package->script->Actions[script][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)); TRACE("executing %s\n", debugstr_w(action));
return ACTION_PerformAction( package, action, script ); return ACTION_PerformAction( package, action, script );
} }
@@ -2956,7 +2949,7 @@ static UINT ITERATE_WriteRegistryValues(MSIRECORD *row, LPVOID param)
MSI_RecordSetStringW(uirow,1,uikey); MSI_RecordSetStringW(uirow,1,uikey);
if (type == REG_SZ || type == REG_EXPAND_SZ) if (type == REG_SZ || type == REG_EXPAND_SZ)
MSI_RecordSetStringW(uirow, 3, (LPWSTR)new_value); MSI_RecordSetStringW(uirow, 3, (LPWSTR)new_value);
msi_ui_actiondata( package, szWriteRegistryValues, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free(new_value); msi_free(new_value);
@@ -3110,7 +3103,7 @@ static UINT ITERATE_RemoveRegistryValuesOnUninstall( MSIRECORD *row, LPVOID para
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, ui_key_str ); MSI_RecordSetStringW( uirow, 1, ui_key_str );
MSI_RecordSetStringW( uirow, 2, deformated_name ); MSI_RecordSetStringW( uirow, 2, deformated_name );
msi_ui_actiondata( package, szRemoveRegistryValues, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free( ui_key_str ); msi_free( ui_key_str );
@@ -3173,7 +3166,7 @@ static UINT ITERATE_RemoveRegistryValuesOnInstall( MSIRECORD *row, LPVOID param
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, ui_key_str ); MSI_RecordSetStringW( uirow, 1, ui_key_str );
MSI_RecordSetStringW( uirow, 2, deformated_name ); MSI_RecordSetStringW( uirow, 2, deformated_name );
msi_ui_actiondata( package, szRemoveRegistryValues, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free( ui_key_str ); msi_free( ui_key_str );
@@ -3632,7 +3625,7 @@ static UINT ACTION_ProcessComponents(MSIPACKAGE *package)
MSI_RecordSetStringW(uirow,1,package->ProductCode); MSI_RecordSetStringW(uirow,1,package->ProductCode);
MSI_RecordSetStringW(uirow,2,comp->ComponentId); MSI_RecordSetStringW(uirow,2,comp->ComponentId);
MSI_RecordSetStringW(uirow,3,comp->FullKeypath); MSI_RecordSetStringW(uirow,3,comp->FullKeypath);
msi_ui_actiondata( package, szProcessComponents, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
} }
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -3726,7 +3719,7 @@ static UINT ITERATE_RegisterTypeLibraries(MSIRECORD *row, LPVOID param)
TRACE("component has no key path\n"); TRACE("component has no key path\n");
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
msi_ui_actiondata( package, szRegisterTypeLibraries, row ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, row);
module = LoadLibraryExW( file->TargetPath, NULL, LOAD_LIBRARY_AS_DATAFILE ); module = LoadLibraryExW( file->TargetPath, NULL, LOAD_LIBRARY_AS_DATAFILE );
if (module) 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)); TRACE("component not scheduled for removal %s\n", debugstr_w(component));
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
msi_ui_actiondata( package, szUnregisterTypeLibraries, row ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, row);
guid = MSI_RecordGetString( row, 1 ); guid = MSI_RecordGetString( row, 1 );
CLSIDFromString( guid, &libid ); 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)); TRACE("component not scheduled for installation %s\n", debugstr_w(component));
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
msi_ui_actiondata( package, szCreateShortcuts, row ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, row);
res = CoCreateInstance( &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, res = CoCreateInstance( &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
&IID_IShellLinkW, (LPVOID *) &sl ); &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)); TRACE("component not scheduled for removal %s\n", debugstr_w(component));
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
msi_ui_actiondata( package, szRemoveShortcuts, row ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, row);
link_file = get_link_file( package, row ); link_file = get_link_file( package, row );
@@ -4493,7 +4486,7 @@ static UINT ACTION_PublishProduct(MSIPACKAGE *package)
end: end:
uirow = MSI_CreateRecord( 1 ); uirow = MSI_CreateRecord( 1 );
MSI_RecordSetStringW( uirow, 1, package->ProductCode ); MSI_RecordSetStringW( uirow, 1, package->ProductCode );
msi_ui_actiondata( package, szPublishProduct, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
RegCloseKey(hukey); RegCloseKey(hukey);
@@ -4599,7 +4592,7 @@ static UINT ITERATE_WriteIniValues(MSIRECORD *row, LPVOID param)
MSI_RecordSetStringW(uirow,2,deformated_section); MSI_RecordSetStringW(uirow,2,deformated_section);
MSI_RecordSetStringW(uirow,3,deformated_key); MSI_RecordSetStringW(uirow,3,deformated_key);
MSI_RecordSetStringW(uirow,4,deformated_value); MSI_RecordSetStringW(uirow,4,deformated_value);
msi_ui_actiondata( package, szWriteIniValues, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free(fullname); msi_free(fullname);
@@ -4679,7 +4672,7 @@ static UINT ITERATE_RemoveIniValuesOnUninstall( MSIRECORD *row, LPVOID param )
MSI_RecordSetStringW( uirow, 2, deformated_section ); MSI_RecordSetStringW( uirow, 2, deformated_section );
MSI_RecordSetStringW( uirow, 3, deformated_key ); MSI_RecordSetStringW( uirow, 3, deformated_key );
MSI_RecordSetStringW( uirow, 4, deformated_value ); MSI_RecordSetStringW( uirow, 4, deformated_value );
msi_ui_actiondata( package, szRemoveIniValues, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free( deformated_key ); 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, 2, deformated_section );
MSI_RecordSetStringW( uirow, 3, deformated_key ); MSI_RecordSetStringW( uirow, 3, deformated_key );
MSI_RecordSetStringW( uirow, 4, deformated_value ); MSI_RecordSetStringW( uirow, 4, deformated_value );
msi_ui_actiondata( package, szRemoveIniValues, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free( deformated_key ); msi_free( deformated_key );
@@ -4781,17 +4774,10 @@ static UINT ACTION_RemoveIniValues( MSIPACKAGE *package )
static void register_dll( const WCHAR *dll, BOOL unregister ) 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[] = static const WCHAR regW[] =
{'r','e','g','s','v','r','3','2','.','e','x','e',' ','\"','%','s','\"',0}; {'r','e','g','s','v','r','3','2','.','e','x','e',' ','\"','%','s','\"',0};
static const WCHAR unregW[] = static const WCHAR unregW[] =
{'r','e','g','s','v','r','3','2','.','e','x','e',' ','/','u',' ','\"','%','s','\"',0}; {'r','e','g','s','v','r','3','2','.','e','x','e',' ','/','u',' ','\"','%','s','\"',0};
#endif /* __REACTOS__ */
PROCESS_INFORMATION pi; PROCESS_INFORMATION pi;
STARTUPINFOW si; STARTUPINFOW si;
WCHAR *cmd; WCHAR *cmd;
@@ -4838,7 +4824,7 @@ static UINT ITERATE_SelfRegModules(MSIRECORD *row, LPVOID param)
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, file->File ); MSI_RecordSetStringW( uirow, 1, file->File );
MSI_RecordSetStringW( uirow, 2, file->Component->Directory ); MSI_RecordSetStringW( uirow, 2, file->Component->Directory );
msi_ui_actiondata( package, szSelfRegModules, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -4888,7 +4874,7 @@ static UINT ITERATE_SelfUnregModules( MSIRECORD *row, LPVOID param )
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, file->File ); MSI_RecordSetStringW( uirow, 1, file->File );
MSI_RecordSetStringW( uirow, 2, file->Component->Directory ); MSI_RecordSetStringW( uirow, 2, file->Component->Directory );
msi_ui_actiondata( package, szSelfUnregModules, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -5008,7 +4994,7 @@ static UINT ACTION_PublishFeatures(MSIPACKAGE *package)
/* the UI chunk */ /* the UI chunk */
uirow = MSI_CreateRecord( 1 ); uirow = MSI_CreateRecord( 1 );
MSI_RecordSetStringW( uirow, 1, feature->Feature ); MSI_RecordSetStringW( uirow, 1, feature->Feature );
msi_ui_actiondata( package, szPublishFeatures, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
/* FIXME: call msi_ui_progress? */ /* FIXME: call msi_ui_progress? */
} }
@@ -5045,7 +5031,7 @@ static UINT msi_unpublish_feature(MSIPACKAGE *package, MSIFEATURE *feature)
uirow = MSI_CreateRecord( 1 ); uirow = MSI_CreateRecord( 1 );
MSI_RecordSetStringW( uirow, 1, feature->Feature ); MSI_RecordSetStringW( uirow, 1, feature->Feature );
msi_ui_actiondata( package, szUnpublishFeatures, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -5245,7 +5231,7 @@ static UINT ACTION_RegisterProduct(MSIPACKAGE *package)
done: done:
uirow = MSI_CreateRecord( 1 ); uirow = MSI_CreateRecord( 1 );
MSI_RecordSetStringW( uirow, 1, package->ProductCode ); MSI_RecordSetStringW( uirow, 1, package->ProductCode );
msi_ui_actiondata( package, szRegisterProduct, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
RegCloseKey(hkey); RegCloseKey(hkey);
@@ -5456,43 +5442,6 @@ UINT ACTION_ForceReboot(MSIPACKAGE *package)
return ERROR_INSTALL_SUSPEND; 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) static UINT ACTION_ResolveSource(MSIPACKAGE* package)
{ {
DWORD attrib; DWORD attrib;
@@ -5510,7 +5459,8 @@ static UINT ACTION_ResolveSource(MSIPACKAGE* package)
attrib = GetFileAttributesW(package->db->path); attrib = GetFileAttributesW(package->db->path);
if (attrib == INVALID_FILE_ATTRIBUTES) if (attrib == INVALID_FILE_ATTRIBUTES)
{ {
LPWSTR prompt, msg; MSIRECORD *record;
LPWSTR prompt;
DWORD size = 0; DWORD size = 0;
rc = MsiSourceListGetInfoW(package->ProductCode, NULL, rc = MsiSourceListGetInfoW(package->ProductCode, NULL,
@@ -5526,19 +5476,18 @@ static UINT ACTION_ResolveSource(MSIPACKAGE* package)
else else
prompt = strdupW(package->db->path); 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); msi_free(prompt);
while(attrib == INVALID_FILE_ATTRIBUTES) 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) if (rc == IDCANCEL)
{
msi_free(msg);
return ERROR_INSTALL_USEREXIT; return ERROR_INSTALL_USEREXIT;
}
attrib = GetFileAttributesW(package->db->path); attrib = GetFileAttributesW(package->db->path);
} }
msi_free(msg);
rc = ERROR_SUCCESS; rc = ERROR_SUCCESS;
} }
else else
@@ -5595,7 +5544,7 @@ static UINT ACTION_RegisterUser(MSIPACKAGE *package)
end: end:
uirow = MSI_CreateRecord( 1 ); uirow = MSI_CreateRecord( 1 );
MSI_RecordSetStringW( uirow, 1, productid ); MSI_RecordSetStringW( uirow, 1, productid );
msi_ui_actiondata( package, szRegisterUser, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free(productid); msi_free(productid);
@@ -5735,7 +5684,7 @@ end:
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, compgroupid ); MSI_RecordSetStringW( uirow, 1, compgroupid );
MSI_RecordSetStringW( uirow, 2, qualifier); MSI_RecordSetStringW( uirow, 2, qualifier);
msi_ui_actiondata( package, szPublishComponents, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
/* FIXME: call ui_progress? */ /* FIXME: call ui_progress? */
@@ -5812,7 +5761,7 @@ static UINT ITERATE_UnpublishComponent( MSIRECORD *rec, LPVOID param )
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, compgroupid ); MSI_RecordSetStringW( uirow, 1, compgroupid );
MSI_RecordSetStringW( uirow, 2, qualifier ); MSI_RecordSetStringW( uirow, 2, qualifier );
msi_ui_actiondata( package, szUnpublishComponents, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -6124,7 +6073,7 @@ done:
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, display_name ); MSI_RecordSetStringW( uirow, 1, display_name );
MSI_RecordSetStringW( uirow, 2, name ); MSI_RecordSetStringW( uirow, 2, name );
msi_ui_actiondata( package, szStartServices, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
if (service) CloseServiceHandle(service); if (service) CloseServiceHandle(service);
@@ -6292,7 +6241,7 @@ done:
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, display_name ); MSI_RecordSetStringW( uirow, 1, display_name );
MSI_RecordSetStringW( uirow, 2, name ); MSI_RecordSetStringW( uirow, 2, name );
msi_ui_actiondata( package, szStopServices, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free( name ); msi_free( name );
@@ -6372,7 +6321,7 @@ done:
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, display_name ); MSI_RecordSetStringW( uirow, 1, display_name );
MSI_RecordSetStringW( uirow, 2, name ); MSI_RecordSetStringW( uirow, 2, name );
msi_ui_actiondata( package, szDeleteServices, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
if (service) CloseServiceHandle( service ); if (service) CloseServiceHandle( service );
@@ -6490,7 +6439,7 @@ static UINT ITERATE_InstallODBCDriver( MSIRECORD *rec, LPVOID param )
MSI_RecordSetStringW( uirow, 1, desc ); MSI_RecordSetStringW( uirow, 1, desc );
MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) ); MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
MSI_RecordSetStringW( uirow, 3, driver_file->Component->Directory ); MSI_RecordSetStringW( uirow, 3, driver_file->Component->Directory );
msi_ui_actiondata( package, szInstallODBC, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free(driver); msi_free(driver);
@@ -6578,7 +6527,7 @@ static UINT ITERATE_InstallODBCTranslator( MSIRECORD *rec, LPVOID param )
MSI_RecordSetStringW( uirow, 1, desc ); MSI_RecordSetStringW( uirow, 1, desc );
MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) ); MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
MSI_RecordSetStringW( uirow, 3, translator_file->Component->Directory ); MSI_RecordSetStringW( uirow, 3, translator_file->Component->Directory );
msi_ui_actiondata( package, szInstallODBC, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free(translator); msi_free(translator);
@@ -6639,7 +6588,7 @@ static UINT ITERATE_InstallODBCDataSource( MSIRECORD *rec, LPVOID param )
MSI_RecordSetStringW( uirow, 1, desc ); MSI_RecordSetStringW( uirow, 1, desc );
MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) ); MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
MSI_RecordSetInteger( uirow, 3, request ); MSI_RecordSetInteger( uirow, 3, request );
msi_ui_actiondata( package, szInstallODBC, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free(attrs); msi_free(attrs);
@@ -6721,7 +6670,7 @@ static UINT ITERATE_RemoveODBCDriver( MSIRECORD *rec, LPVOID param )
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, desc ); MSI_RecordSetStringW( uirow, 1, desc );
MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) ); MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
msi_ui_actiondata( package, szRemoveODBC, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -6760,7 +6709,7 @@ static UINT ITERATE_RemoveODBCTranslator( MSIRECORD *rec, LPVOID param )
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, desc ); MSI_RecordSetStringW( uirow, 1, desc );
MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) ); MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
msi_ui_actiondata( package, szRemoveODBC, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -6819,7 +6768,7 @@ static UINT ITERATE_RemoveODBCDataSource( MSIRECORD *rec, LPVOID param )
MSI_RecordSetStringW( uirow, 1, desc ); MSI_RecordSetStringW( uirow, 1, desc );
MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) ); MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
MSI_RecordSetInteger( uirow, 3, request ); MSI_RecordSetInteger( uirow, 3, request );
msi_ui_actiondata( package, szRemoveODBC, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -7167,7 +7116,7 @@ done:
MSI_RecordSetStringW( uirow, 1, name ); MSI_RecordSetStringW( uirow, 1, name );
MSI_RecordSetStringW( uirow, 2, newval ); MSI_RecordSetStringW( uirow, 2, newval );
MSI_RecordSetInteger( uirow, 3, action ); MSI_RecordSetInteger( uirow, 3, action );
msi_ui_actiondata( package, szWriteEnvironmentStrings, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
if (env) RegCloseKey(env); if (env) RegCloseKey(env);
@@ -7310,7 +7259,7 @@ done:
MSI_RecordSetStringW( uirow, 1, name ); MSI_RecordSetStringW( uirow, 1, name );
MSI_RecordSetStringW( uirow, 2, value ); MSI_RecordSetStringW( uirow, 2, value );
MSI_RecordSetInteger( uirow, 3, action ); MSI_RecordSetInteger( uirow, 3, action );
msi_ui_actiondata( package, szRemoveEnvironmentStrings, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
if (env) RegCloseKey( env ); if (env) RegCloseKey( env );
@@ -7382,7 +7331,7 @@ static UINT ACTION_AllocateRegistrySpace( MSIPACKAGE *package )
uirow = MSI_CreateRecord( 1 ); uirow = MSI_CreateRecord( 1 );
MSI_RecordSetInteger( uirow, 1, space ); MSI_RecordSetInteger( uirow, 1, space );
msi_ui_actiondata( package, szAllocateRegistrySpace, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -7681,93 +7630,95 @@ static UINT ACTION_InstallSFPCatalogFile( MSIPACKAGE *package )
static const struct static const struct
{ {
const WCHAR *action; const WCHAR *action;
const UINT description;
const UINT template;
UINT (*handler)(MSIPACKAGE *); UINT (*handler)(MSIPACKAGE *);
const WCHAR *action_rollback; const WCHAR *action_rollback;
} }
StandardActions[] = StandardActions[] =
{ {
{ szAllocateRegistrySpace, ACTION_AllocateRegistrySpace, NULL }, { szAllocateRegistrySpace, IDS_DESC_ALLOCATEREGISTRYSPACE, IDS_TEMP_ALLOCATEREGISTRYSPACE, ACTION_AllocateRegistrySpace, NULL },
{ szAppSearch, ACTION_AppSearch, NULL }, { szAppSearch, IDS_DESC_APPSEARCH, IDS_TEMP_APPSEARCH, ACTION_AppSearch, NULL },
{ szBindImage, ACTION_BindImage, NULL }, { szBindImage, IDS_DESC_BINDIMAGE, IDS_TEMP_BINDIMAGE, ACTION_BindImage, NULL },
{ szCCPSearch, ACTION_CCPSearch, NULL }, { szCCPSearch, IDS_DESC_CCPSEARCH, 0, ACTION_CCPSearch, NULL },
{ szCostFinalize, ACTION_CostFinalize, NULL }, { szCostFinalize, IDS_DESC_COSTFINALIZE, 0, ACTION_CostFinalize, NULL },
{ szCostInitialize, ACTION_CostInitialize, NULL }, { szCostInitialize, IDS_DESC_COSTINITIALIZE, 0, ACTION_CostInitialize, NULL },
{ szCreateFolders, ACTION_CreateFolders, szRemoveFolders }, { szCreateFolders, IDS_DESC_CREATEFOLDERS, IDS_TEMP_CREATEFOLDERS, ACTION_CreateFolders, szRemoveFolders },
{ szCreateShortcuts, ACTION_CreateShortcuts, szRemoveShortcuts }, { szCreateShortcuts, IDS_DESC_CREATESHORTCUTS, IDS_TEMP_CREATESHORTCUTS, ACTION_CreateShortcuts, szRemoveShortcuts },
{ szDeleteServices, ACTION_DeleteServices, szInstallServices }, { szDeleteServices, IDS_DESC_DELETESERVICES, IDS_TEMP_DELETESERVICES, ACTION_DeleteServices, szInstallServices },
{ szDisableRollback, ACTION_DisableRollback, NULL }, { szDisableRollback, 0, 0, ACTION_DisableRollback, NULL },
{ szDuplicateFiles, ACTION_DuplicateFiles, szRemoveDuplicateFiles }, { szDuplicateFiles, IDS_DESC_DUPLICATEFILES, IDS_TEMP_DUPLICATEFILES, ACTION_DuplicateFiles, szRemoveDuplicateFiles },
{ szExecuteAction, ACTION_ExecuteAction, NULL }, { szExecuteAction, 0, 0, ACTION_ExecuteAction, NULL },
{ szFileCost, ACTION_FileCost, NULL }, { szFileCost, IDS_DESC_FILECOST, 0, ACTION_FileCost, NULL },
{ szFindRelatedProducts, ACTION_FindRelatedProducts, NULL }, { szFindRelatedProducts, IDS_DESC_FINDRELATEDPRODUCTS, IDS_TEMP_FINDRELATEDPRODUCTS, ACTION_FindRelatedProducts, NULL },
{ szForceReboot, ACTION_ForceReboot, NULL }, { szForceReboot, 0, 0, ACTION_ForceReboot, NULL },
{ szInstallAdminPackage, ACTION_InstallAdminPackage, NULL }, { szInstallAdminPackage, IDS_DESC_INSTALLADMINPACKAGE, IDS_TEMP_INSTALLADMINPACKAGE, ACTION_InstallAdminPackage, NULL },
{ szInstallExecute, ACTION_InstallExecute, NULL }, { szInstallExecute, 0, 0, ACTION_InstallExecute, NULL },
{ szInstallExecuteAgain, ACTION_InstallExecute, NULL }, { szInstallExecuteAgain, 0, 0, ACTION_InstallExecute, NULL },
{ szInstallFiles, ACTION_InstallFiles, szRemoveFiles }, { szInstallFiles, IDS_DESC_INSTALLFILES, IDS_TEMP_INSTALLFILES, ACTION_InstallFiles, szRemoveFiles },
{ szInstallFinalize, ACTION_InstallFinalize, NULL }, { szInstallFinalize, 0, 0, ACTION_InstallFinalize, NULL },
{ szInstallInitialize, ACTION_InstallInitialize, NULL }, { szInstallInitialize, 0, 0, ACTION_InstallInitialize, NULL },
{ szInstallODBC, ACTION_InstallODBC, szRemoveODBC }, { szInstallODBC, IDS_DESC_INSTALLODBC, 0, ACTION_InstallODBC, szRemoveODBC },
{ szInstallServices, ACTION_InstallServices, szDeleteServices }, { szInstallServices, IDS_DESC_INSTALLSERVICES, IDS_TEMP_INSTALLSERVICES, ACTION_InstallServices, szDeleteServices },
{ szInstallSFPCatalogFile, ACTION_InstallSFPCatalogFile, NULL }, { szInstallSFPCatalogFile, IDS_DESC_INSTALLSFPCATALOGFILE, IDS_TEMP_INSTALLSFPCATALOGFILE, ACTION_InstallSFPCatalogFile, NULL },
{ szInstallValidate, ACTION_InstallValidate, NULL }, { szInstallValidate, IDS_DESC_INSTALLVALIDATE, 0, ACTION_InstallValidate, NULL },
{ szIsolateComponents, ACTION_IsolateComponents, NULL }, { szIsolateComponents, 0, 0, ACTION_IsolateComponents, NULL },
{ szLaunchConditions, ACTION_LaunchConditions, NULL }, { szLaunchConditions, IDS_DESC_LAUNCHCONDITIONS, 0, ACTION_LaunchConditions, NULL },
{ szMigrateFeatureStates, ACTION_MigrateFeatureStates, NULL }, { szMigrateFeatureStates, IDS_DESC_MIGRATEFEATURESTATES, IDS_TEMP_MIGRATEFEATURESTATES, ACTION_MigrateFeatureStates, NULL },
{ szMoveFiles, ACTION_MoveFiles, NULL }, { szMoveFiles, IDS_DESC_MOVEFILES, IDS_TEMP_MOVEFILES, ACTION_MoveFiles, NULL },
{ szMsiPublishAssemblies, ACTION_MsiPublishAssemblies, szMsiUnpublishAssemblies }, { szMsiPublishAssemblies, IDS_DESC_MSIPUBLISHASSEMBLIES, IDS_TEMP_MSIPUBLISHASSEMBLIES, ACTION_MsiPublishAssemblies, szMsiUnpublishAssemblies },
{ szMsiUnpublishAssemblies, ACTION_MsiUnpublishAssemblies, szMsiPublishAssemblies }, { szMsiUnpublishAssemblies, IDS_DESC_MSIUNPUBLISHASSEMBLIES, IDS_TEMP_MSIUNPUBLISHASSEMBLIES, ACTION_MsiUnpublishAssemblies, szMsiPublishAssemblies },
{ szPatchFiles, ACTION_PatchFiles, NULL }, { szPatchFiles, IDS_DESC_PATCHFILES, IDS_TEMP_PATCHFILES, ACTION_PatchFiles, NULL },
{ szProcessComponents, ACTION_ProcessComponents, szProcessComponents }, { szProcessComponents, IDS_DESC_PROCESSCOMPONENTS, 0, ACTION_ProcessComponents, szProcessComponents },
{ szPublishComponents, ACTION_PublishComponents, szUnpublishComponents }, { szPublishComponents, IDS_DESC_PUBLISHCOMPONENTS, IDS_TEMP_PUBLISHCOMPONENTS, ACTION_PublishComponents, szUnpublishComponents },
{ szPublishFeatures, ACTION_PublishFeatures, szUnpublishFeatures }, { szPublishFeatures, IDS_DESC_PUBLISHFEATURES, IDS_TEMP_PUBLISHFEATURES, ACTION_PublishFeatures, szUnpublishFeatures },
{ szPublishProduct, ACTION_PublishProduct, szUnpublishProduct }, { szPublishProduct, IDS_DESC_PUBLISHPRODUCT, 0, ACTION_PublishProduct, szUnpublishProduct },
{ szRegisterClassInfo, ACTION_RegisterClassInfo, szUnregisterClassInfo }, { szRegisterClassInfo, IDS_DESC_REGISTERCLASSINFO, IDS_TEMP_REGISTERCLASSINFO, ACTION_RegisterClassInfo, szUnregisterClassInfo },
{ szRegisterComPlus, ACTION_RegisterComPlus, szUnregisterComPlus }, { szRegisterComPlus, IDS_DESC_REGISTERCOMPLUS, IDS_TEMP_REGISTERCOMPLUS, ACTION_RegisterComPlus, szUnregisterComPlus },
{ szRegisterExtensionInfo, ACTION_RegisterExtensionInfo, szUnregisterExtensionInfo }, { szRegisterExtensionInfo, IDS_DESC_REGISTEREXTENSIONINFO, 0, ACTION_RegisterExtensionInfo, szUnregisterExtensionInfo },
{ szRegisterFonts, ACTION_RegisterFonts, szUnregisterFonts }, { szRegisterFonts, IDS_DESC_REGISTERFONTS, IDS_TEMP_REGISTERFONTS, ACTION_RegisterFonts, szUnregisterFonts },
{ szRegisterMIMEInfo, ACTION_RegisterMIMEInfo, szUnregisterMIMEInfo }, { szRegisterMIMEInfo, IDS_DESC_REGISTERMIMEINFO, IDS_TEMP_REGISTERMIMEINFO, ACTION_RegisterMIMEInfo, szUnregisterMIMEInfo },
{ szRegisterProduct, ACTION_RegisterProduct, NULL }, { szRegisterProduct, IDS_DESC_REGISTERPRODUCT, 0, ACTION_RegisterProduct, NULL },
{ szRegisterProgIdInfo, ACTION_RegisterProgIdInfo, szUnregisterProgIdInfo }, { szRegisterProgIdInfo, IDS_DESC_REGISTERPROGIDINFO, IDS_TEMP_REGISTERPROGIDINFO, ACTION_RegisterProgIdInfo, szUnregisterProgIdInfo },
{ szRegisterTypeLibraries, ACTION_RegisterTypeLibraries, szUnregisterTypeLibraries }, { szRegisterTypeLibraries, IDS_DESC_REGISTERTYPELIBRARIES, IDS_TEMP_REGISTERTYPELIBRARIES, ACTION_RegisterTypeLibraries, szUnregisterTypeLibraries },
{ szRegisterUser, ACTION_RegisterUser, NULL }, { szRegisterUser, IDS_DESC_REGISTERUSER, 0, ACTION_RegisterUser, NULL },
{ szRemoveDuplicateFiles, ACTION_RemoveDuplicateFiles, szDuplicateFiles }, { szRemoveDuplicateFiles, IDS_DESC_REMOVEDUPLICATEFILES, IDS_TEMP_REMOVEDUPLICATEFILES, ACTION_RemoveDuplicateFiles, szDuplicateFiles },
{ szRemoveEnvironmentStrings, ACTION_RemoveEnvironmentStrings, szWriteEnvironmentStrings }, { szRemoveEnvironmentStrings, IDS_DESC_REMOVEENVIRONMENTSTRINGS, IDS_TEMP_REMOVEENVIRONMENTSTRINGS, ACTION_RemoveEnvironmentStrings, szWriteEnvironmentStrings },
{ szRemoveExistingProducts, ACTION_RemoveExistingProducts, NULL }, { szRemoveExistingProducts, IDS_DESC_REMOVEEXISTINGPRODUCTS, IDS_TEMP_REMOVEEXISTINGPRODUCTS, ACTION_RemoveExistingProducts, NULL },
{ szRemoveFiles, ACTION_RemoveFiles, szInstallFiles }, { szRemoveFiles, IDS_DESC_REMOVEFILES, IDS_TEMP_REMOVEFILES, ACTION_RemoveFiles, szInstallFiles },
{ szRemoveFolders, ACTION_RemoveFolders, szCreateFolders }, { szRemoveFolders, IDS_DESC_REMOVEFOLDERS, IDS_TEMP_REMOVEFOLDERS, ACTION_RemoveFolders, szCreateFolders },
{ szRemoveIniValues, ACTION_RemoveIniValues, szWriteIniValues }, { szRemoveIniValues, IDS_DESC_REMOVEINIVALUES, IDS_TEMP_REMOVEINIVALUES, ACTION_RemoveIniValues, szWriteIniValues },
{ szRemoveODBC, ACTION_RemoveODBC, szInstallODBC }, { szRemoveODBC, IDS_DESC_REMOVEODBC, 0, ACTION_RemoveODBC, szInstallODBC },
{ szRemoveRegistryValues, ACTION_RemoveRegistryValues, szWriteRegistryValues }, { szRemoveRegistryValues, IDS_DESC_REMOVEREGISTRYVALUES, IDS_TEMP_REMOVEREGISTRYVALUES, ACTION_RemoveRegistryValues, szWriteRegistryValues },
{ szRemoveShortcuts, ACTION_RemoveShortcuts, szCreateShortcuts }, { szRemoveShortcuts, IDS_DESC_REMOVESHORTCUTS, IDS_TEMP_REMOVESHORTCUTS, ACTION_RemoveShortcuts, szCreateShortcuts },
{ szResolveSource, ACTION_ResolveSource, NULL }, { szResolveSource, 0, 0, ACTION_ResolveSource, NULL },
{ szRMCCPSearch, ACTION_RMCCPSearch, NULL }, { szRMCCPSearch, IDS_DESC_RMCCPSEARCH, 0, ACTION_RMCCPSearch, NULL },
{ szScheduleReboot, ACTION_ScheduleReboot, NULL }, { szScheduleReboot, 0, 0, ACTION_ScheduleReboot, NULL },
{ szSelfRegModules, ACTION_SelfRegModules, szSelfUnregModules }, { szSelfRegModules, IDS_DESC_SELFREGMODULES, IDS_TEMP_SELFREGMODULES, ACTION_SelfRegModules, szSelfUnregModules },
{ szSelfUnregModules, ACTION_SelfUnregModules, szSelfRegModules }, { szSelfUnregModules, IDS_DESC_SELFUNREGMODULES, IDS_TEMP_SELFUNREGMODULES, ACTION_SelfUnregModules, szSelfRegModules },
{ szSetODBCFolders, ACTION_SetODBCFolders, NULL }, { szSetODBCFolders, IDS_DESC_SETODBCFOLDERS, 0, ACTION_SetODBCFolders, NULL },
{ szStartServices, ACTION_StartServices, szStopServices }, { szStartServices, IDS_DESC_STARTSERVICES, IDS_TEMP_STARTSERVICES, ACTION_StartServices, szStopServices },
{ szStopServices, ACTION_StopServices, szStartServices }, { szStopServices, IDS_DESC_STOPSERVICES, IDS_TEMP_STOPSERVICES, ACTION_StopServices, szStartServices },
{ szUnpublishComponents, ACTION_UnpublishComponents, szPublishComponents }, { szUnpublishComponents, IDS_DESC_UNPUBLISHCOMPONENTS, IDS_TEMP_UNPUBLISHCOMPONENTS, ACTION_UnpublishComponents, szPublishComponents },
{ szUnpublishFeatures, ACTION_UnpublishFeatures, szPublishFeatures }, { szUnpublishFeatures, IDS_DESC_UNPUBLISHFEATURES, IDS_TEMP_UNPUBLISHFEATURES, ACTION_UnpublishFeatures, szPublishFeatures },
{ szUnpublishProduct, ACTION_UnpublishProduct, NULL }, /* for rollback only */ { szUnpublishProduct, IDS_DESC_UNPUBLISHPRODUCT, 0, ACTION_UnpublishProduct, NULL }, /* for rollback only */
{ szUnregisterClassInfo, ACTION_UnregisterClassInfo, szRegisterClassInfo }, { szUnregisterClassInfo, IDS_DESC_UNREGISTERCLASSINFO, IDS_TEMP_UNREGISTERCLASSINFO, ACTION_UnregisterClassInfo, szRegisterClassInfo },
{ szUnregisterComPlus, ACTION_UnregisterComPlus, szRegisterComPlus }, { szUnregisterComPlus, IDS_DESC_UNREGISTERCOMPLUS, IDS_TEMP_UNREGISTERCOMPLUS, ACTION_UnregisterComPlus, szRegisterComPlus },
{ szUnregisterExtensionInfo, ACTION_UnregisterExtensionInfo, szRegisterExtensionInfo }, { szUnregisterExtensionInfo, IDS_DESC_UNREGISTEREXTENSIONINFO, IDS_TEMP_UNREGISTEREXTENSIONINFO, ACTION_UnregisterExtensionInfo, szRegisterExtensionInfo },
{ szUnregisterFonts, ACTION_UnregisterFonts, szRegisterFonts }, { szUnregisterFonts, IDS_DESC_UNREGISTERFONTS, IDS_TEMP_UNREGISTERFONTS, ACTION_UnregisterFonts, szRegisterFonts },
{ szUnregisterMIMEInfo, ACTION_UnregisterMIMEInfo, szRegisterMIMEInfo }, { szUnregisterMIMEInfo, IDS_DESC_UNREGISTERMIMEINFO, IDS_TEMP_UNREGISTERMIMEINFO, ACTION_UnregisterMIMEInfo, szRegisterMIMEInfo },
{ szUnregisterProgIdInfo, ACTION_UnregisterProgIdInfo, szRegisterProgIdInfo }, { szUnregisterProgIdInfo, IDS_DESC_UNREGISTERPROGIDINFO, IDS_TEMP_UNREGISTERPROGIDINFO, ACTION_UnregisterProgIdInfo, szRegisterProgIdInfo },
{ szUnregisterTypeLibraries, ACTION_UnregisterTypeLibraries, szRegisterTypeLibraries }, { szUnregisterTypeLibraries, IDS_DESC_UNREGISTERTYPELIBRARIES, IDS_TEMP_UNREGISTERTYPELIBRARIES, ACTION_UnregisterTypeLibraries, szRegisterTypeLibraries },
{ szValidateProductID, ACTION_ValidateProductID, NULL }, { szValidateProductID, 0, 0, ACTION_ValidateProductID, NULL },
{ szWriteEnvironmentStrings, ACTION_WriteEnvironmentStrings, szRemoveEnvironmentStrings }, { szWriteEnvironmentStrings, IDS_DESC_WRITEENVIRONMENTSTRINGS, IDS_TEMP_WRITEENVIRONMENTSTRINGS, ACTION_WriteEnvironmentStrings, szRemoveEnvironmentStrings },
{ szWriteIniValues, ACTION_WriteIniValues, szRemoveIniValues }, { szWriteIniValues, IDS_DESC_WRITEINIVALUES, IDS_TEMP_WRITEINIVALUES, ACTION_WriteIniValues, szRemoveIniValues },
{ szWriteRegistryValues, ACTION_WriteRegistryValues, szRemoveRegistryValues }, { szWriteRegistryValues, IDS_DESC_WRITEREGISTRYVALUES, IDS_TEMP_WRITEREGISTRYVALUES, ACTION_WriteRegistryValues, szRemoveRegistryValues },
{ NULL, NULL, NULL } { 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; UINT i;
i = 0; i = 0;
@@ -7775,12 +7726,19 @@ static BOOL ACTION_HandleStandardAction( MSIPACKAGE *package, LPCWSTR action, UI
{ {
if (!strcmpW( StandardActions[i].action, action )) 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) if (StandardActions[i].handler)
{ {
ui_actioninfo( package, action, TRUE, 0 ); ui_actioninfo( package, action, TRUE, 0 );
*rc = StandardActions[i].handler( package ); rc = StandardActions[i].handler( package );
ui_actioninfo( package, action, FALSE, *rc ); ui_actioninfo( package, action, FALSE, !rc );
if (StandardActions[i].action_rollback && !package->need_rollback) if (StandardActions[i].action_rollback && !package->need_rollback)
{ {
@@ -7791,58 +7749,46 @@ static BOOL ACTION_HandleStandardAction( MSIPACKAGE *package, LPCWSTR action, UI
else else
{ {
FIXME("unhandled standard action %s\n", debugstr_w(action)); FIXME("unhandled standard action %s\n", debugstr_w(action));
*rc = ERROR_SUCCESS; rc = ERROR_SUCCESS;
} }
ret = TRUE;
break; break;
} }
i++; i++;
} }
return ret; return rc;
} }
UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action, UINT script) UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action, UINT script)
{ {
UINT rc = ERROR_SUCCESS; UINT rc;
BOOL handled;
TRACE("Performing action (%s)\n", debugstr_w(action)); TRACE("Performing action (%s)\n", debugstr_w(action));
handled = ACTION_HandleStandardAction(package, action, &rc); rc = ACTION_HandleStandardAction(package, action);
if (!handled) if (rc == ERROR_FUNCTION_NOT_CALLED)
handled = ACTION_HandleCustomAction(package, action, &rc, script); rc = ACTION_HandleCustomAction(package, action, script);
if (!handled) if (rc == ERROR_FUNCTION_NOT_CALLED)
{
WARN("unhandled msi action %s\n", debugstr_w(action)); WARN("unhandled msi action %s\n", debugstr_w(action));
rc = ERROR_FUNCTION_NOT_CALLED;
}
return rc; return rc;
} }
UINT ACTION_PerformUIAction(MSIPACKAGE *package, const WCHAR *action, UINT script) UINT ACTION_PerformUIAction(MSIPACKAGE *package, const WCHAR *action, UINT script)
{ {
UINT rc = ERROR_SUCCESS; UINT rc;
BOOL handled = FALSE;
TRACE("Performing action (%s)\n", debugstr_w(action)); TRACE("Performing action (%s)\n", debugstr_w(action));
package->action_progress_increment = 0; package->action_progress_increment = 0;
handled = ACTION_HandleStandardAction(package, action, &rc); rc = ACTION_HandleStandardAction(package, action);
if (!handled) if (rc == ERROR_FUNCTION_NOT_CALLED)
handled = ACTION_HandleCustomAction(package, action, &rc, script); rc = ACTION_HandleCustomAction(package, action, script);
if( !handled && ACTION_DialogBox(package, action) == ERROR_SUCCESS ) if (rc == ERROR_FUNCTION_NOT_CALLED)
handled = TRUE;
if (!handled)
{
WARN("unhandled msi action %s\n", debugstr_w(action)); WARN("unhandled msi action %s\n", debugstr_w(action));
rc = ERROR_FUNCTION_NOT_CALLED;
}
return rc; return rc;
} }
@@ -7903,6 +7849,42 @@ static UINT ACTION_PerformActionSequence(MSIPACKAGE *package, UINT seq)
return rc; 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 * 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 szAction[] = {'A','C','T','I','O','N',0};
static const WCHAR szInstall[] = {'I','N','S','T','A','L','L',0}; static const WCHAR szInstall[] = {'I','N','S','T','A','L','L',0};
WCHAR *reinstall, *remove, *patch, *productcode; WCHAR *reinstall, *remove, *patch, *productcode;
struct dummy_thread thread_info = {NULL, NULL, NULL};
BOOL ui_exists; BOOL ui_exists;
UINT rc; UINT rc;
@@ -7979,6 +7962,8 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
msi_adjust_privilege_properties( package ); msi_adjust_privilege_properties( package );
msi_set_context( package ); msi_set_context( package );
start_dummy_thread(&thread_info);
productcode = msi_dup_property( package->db, szProductCode ); productcode = msi_dup_property( package->db, szProductCode );
if (strcmpiW( productcode, package->ProductCode )) if (strcmpiW( productcode, package->ProductCode ))
{ {
@@ -8027,6 +8012,8 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
/* finish up running custom actions */ /* finish up running custom actions */
ACTION_FinishCustomActions(package); ACTION_FinishCustomActions(package);
stop_dummy_thread(&thread_info);
if (package->need_rollback && !reinstall) if (package->need_rollback && !reinstall)
{ {
WARN("installation failed, running rollback script\n"); WARN("installation failed, running rollback script\n");
+1 -1
View File
@@ -1104,7 +1104,7 @@ static UINT iterate_appsearch(MSIRECORD *row, LPVOID param)
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, propName ); MSI_RecordSetStringW( uirow, 1, propName );
MSI_RecordSetStringW( uirow, 2, sigName ); MSI_RecordSetStringW( uirow, 2, sigName );
msi_ui_actiondata( package, szAppSearch, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
return r; return r;
+2 -2
View File
@@ -698,7 +698,7 @@ UINT ACTION_MsiPublishAssemblies( MSIPACKAGE *package )
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 2, assembly->display_name ); MSI_RecordSetStringW( uirow, 2, assembly->display_name );
msi_ui_actiondata( package, szMsiPublishAssemblies, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
} }
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -747,7 +747,7 @@ UINT ACTION_MsiUnpublishAssemblies( MSIPACKAGE *package )
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 2, assembly->display_name ); MSI_RecordSetStringW( uirow, 2, assembly->display_name );
msi_ui_actiondata( package, szMsiPublishAssemblies, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
} }
return ERROR_SUCCESS; return ERROR_SUCCESS;
+8 -8
View File
@@ -893,7 +893,7 @@ UINT ACTION_RegisterClassInfo(MSIPACKAGE *package)
uirow = MSI_CreateRecord(1); uirow = MSI_CreateRecord(1);
MSI_RecordSetStringW( uirow, 1, cls->clsid ); MSI_RecordSetStringW( uirow, 1, cls->clsid );
msi_ui_actiondata( package, szRegisterClassInfo, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release(&uirow->hdr); msiobj_release(&uirow->hdr);
} }
RegCloseKey(hkey); RegCloseKey(hkey);
@@ -985,7 +985,7 @@ UINT ACTION_UnregisterClassInfo( MSIPACKAGE *package )
uirow = MSI_CreateRecord( 1 ); uirow = MSI_CreateRecord( 1 );
MSI_RecordSetStringW( uirow, 1, cls->clsid ); MSI_RecordSetStringW( uirow, 1, cls->clsid );
msi_ui_actiondata( package, szUnregisterClassInfo, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
} }
RegCloseKey( hkey ); RegCloseKey( hkey );
@@ -1091,7 +1091,7 @@ UINT ACTION_RegisterProgIdInfo(MSIPACKAGE *package)
uirow = MSI_CreateRecord( 1 ); uirow = MSI_CreateRecord( 1 );
MSI_RecordSetStringW( uirow, 1, progid->ProgID ); MSI_RecordSetStringW( uirow, 1, progid->ProgID );
msi_ui_actiondata( package, szRegisterProgIdInfo, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
} }
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -1154,7 +1154,7 @@ UINT ACTION_UnregisterProgIdInfo( MSIPACKAGE *package )
uirow = MSI_CreateRecord( 1 ); uirow = MSI_CreateRecord( 1 );
MSI_RecordSetStringW( uirow, 1, progid->ProgID ); MSI_RecordSetStringW( uirow, 1, progid->ProgID );
msi_ui_actiondata( package, szUnregisterProgIdInfo, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
} }
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -1341,7 +1341,7 @@ UINT ACTION_RegisterExtensionInfo(MSIPACKAGE *package)
uirow = MSI_CreateRecord(1); uirow = MSI_CreateRecord(1);
MSI_RecordSetStringW( uirow, 1, ext->Extension ); MSI_RecordSetStringW( uirow, 1, ext->Extension );
msi_ui_actiondata( package, szRegisterExtensionInfo, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release(&uirow->hdr); msiobj_release(&uirow->hdr);
} }
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -1424,7 +1424,7 @@ UINT ACTION_UnregisterExtensionInfo( MSIPACKAGE *package )
uirow = MSI_CreateRecord( 1 ); uirow = MSI_CreateRecord( 1 );
MSI_RecordSetStringW( uirow, 1, ext->Extension ); MSI_RecordSetStringW( uirow, 1, ext->Extension );
msi_ui_actiondata( package, szUnregisterExtensionInfo, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
} }
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -1479,7 +1479,7 @@ UINT ACTION_RegisterMIMEInfo(MSIPACKAGE *package)
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, mt->ContentType ); MSI_RecordSetStringW( uirow, 1, mt->ContentType );
MSI_RecordSetStringW( uirow, 2, mt->suffix ); MSI_RecordSetStringW( uirow, 2, mt->suffix );
msi_ui_actiondata( package, szRegisterMIMEInfo, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
} }
return ERROR_SUCCESS; return ERROR_SUCCESS;
@@ -1523,7 +1523,7 @@ UINT ACTION_UnregisterMIMEInfo( MSIPACKAGE *package )
uirow = MSI_CreateRecord( 2 ); uirow = MSI_CreateRecord( 2 );
MSI_RecordSetStringW( uirow, 1, mime->ContentType ); MSI_RecordSetStringW( uirow, 1, mime->ContentType );
MSI_RecordSetStringW( uirow, 2, mime->suffix ); MSI_RecordSetStringW( uirow, 2, mime->suffix );
msi_ui_actiondata( package, szUnregisterMIMEInfo, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
} }
return ERROR_SUCCESS; return ERROR_SUCCESS;
+1 -1
View File
@@ -1203,7 +1203,7 @@ UINT ACTION_CustomAction( MSIPACKAGE *package, LPCWSTR action, UINT script )
row = MSI_QueryGetRecord( package->db, query, action ); row = MSI_QueryGetRecord( package->db, query, action );
if (!row) if (!row)
return ERROR_CALL_NOT_IMPLEMENTED; return ERROR_FUNCTION_NOT_CALLED;
type = MSI_RecordGetInteger(row,2); type = MSI_RecordGetInteger(row,2);
source = MSI_RecordGetString(row,3); source = MSI_RecordGetString(row,3);
+6 -11
View File
@@ -768,8 +768,11 @@ static UINT MSI_DatabaseImport(MSIDATABASE *db, LPCWSTR folder, LPCWSTR file)
lstrcatW( path, file ); lstrcatW( path, file );
data = msi_read_text_archive( path, &len ); data = msi_read_text_archive( path, &len );
if (data == NULL) if (!data)
return ERROR_BAD_PATHNAME; {
msi_free(path);
return ERROR_FUNCTION_FAILED;
}
ptr = data; ptr = data;
msi_parse_line( &ptr, &columns, &num_columns, &len ); msi_parse_line( &ptr, &columns, &num_columns, &len );
@@ -1988,16 +1991,8 @@ MSIDBSTATE WINAPI MsiGetDatabaseState( MSIHANDLE handle )
db = msihandle2msiinfo( handle, MSIHANDLETYPE_DATABASE ); db = msihandle2msiinfo( handle, MSIHANDLETYPE_DATABASE );
if( !db ) 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"); WARN("MsiGetDatabaseState not allowed during a custom action!\n");
return MSIDBSTATE_ERROR;
return MSIDBSTATE_READ;
} }
if (db->mode != MSIDBOPEN_READONLY ) if (db->mode != MSIDBOPEN_READONLY )
+107 -140
View File
@@ -34,6 +34,7 @@ typedef struct msi_control_tag msi_control;
typedef UINT (*msi_handler)( msi_dialog *, msi_control *, WPARAM ); typedef UINT (*msi_handler)( msi_dialog *, msi_control *, WPARAM );
typedef void (*msi_update)( msi_dialog *, msi_control * ); typedef void (*msi_update)( msi_dialog *, msi_control * );
typedef UINT (*control_event_handler)( msi_dialog *, const WCHAR *, const WCHAR * ); typedef UINT (*control_event_handler)( msi_dialog *, const WCHAR *, const WCHAR * );
typedef UINT (*event_handler)( msi_dialog *, const WCHAR * );
struct msi_control_tag struct msi_control_tag
{ {
@@ -79,6 +80,9 @@ struct msi_dialog_tag
HWND hWndFocus; HWND hWndFocus;
LPWSTR control_default; LPWSTR control_default;
LPWSTR control_cancel; LPWSTR control_cancel;
event_handler pending_event;
LPWSTR pending_argument;
INT retval;
WCHAR name[1]; 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 ); r = MSI_IterateRecords( view, 0, msi_dialog_control_event, dialog );
msiobj_release( &view->hdr ); 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; 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, static msi_dialog *dialog_create( MSIPACKAGE *package, const WCHAR *name, msi_dialog *parent,
control_event_handler event_handler ) 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; MSIRECORD *rec = NULL;
msi_dialog *dialog; msi_dialog *dialog;
@@ -3897,7 +3913,6 @@ static msi_dialog *dialog_create( MSIPACKAGE *package, const WCHAR *name, msi_di
return NULL; return NULL;
strcpyW( dialog->name, name ); strcpyW( dialog->name, name );
dialog->parent = parent; dialog->parent = parent;
msiobj_addref( &package->hdr );
dialog->package = package; dialog->package = package;
dialog->event_handler = event_handler; dialog->event_handler = event_handler;
dialog->finished = 0; 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 ); rec = msi_get_dialog_record( dialog );
if( !rec ) if( !rec )
{ {
msiobj_release( &package->hdr );
msi_free( dialog ); msi_free( dialog );
return NULL; 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 ) ); dialog->control_cancel = strdupW( MSI_RecordGetString( rec, 10 ) );
msiobj_release( &rec->hdr ); 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; return dialog;
} }
@@ -4035,7 +4056,6 @@ void msi_dialog_destroy( msi_dialog *dialog )
msi_free( dialog->control_default ); msi_free( dialog->control_default );
msi_free( dialog->control_cancel ); msi_free( dialog->control_cancel );
msiobj_release( &dialog->package->hdr );
dialog->package = NULL; dialog->package = NULL;
msi_free( dialog ); 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 ) static void MSI_ClosePreview( MSIOBJECTHDR *arg )
{ {
MSIPREVIEW *preview = (MSIPREVIEW *)arg; MSIPREVIEW *preview = (MSIPREVIEW *)arg;
@@ -4299,8 +4216,6 @@ UINT WINAPI MsiPreviewBillboardA( MSIHANDLE hPreview, LPCSTR szControlName, LPCS
return ERROR_CALL_NOT_IMPLEMENTED; return ERROR_CALL_NOT_IMPLEMENTED;
} }
typedef UINT (*event_handler)( msi_dialog *, const WCHAR * );
struct control_event struct control_event
{ {
const WCHAR *event; const WCHAR *event;
@@ -4310,10 +4225,11 @@ struct control_event
static UINT dialog_event_handler( msi_dialog *, const WCHAR *, const WCHAR * ); static UINT dialog_event_handler( msi_dialog *, const WCHAR *, const WCHAR * );
/* create a dialog box and run it if it's modal */ /* 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; msi_dialog *dialog;
UINT r; UINT r;
INT retval;
/* create a new dialog */ /* create a new dialog */
dialog = dialog_create( package, name, parent, dialog_event_handler ); 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 */ /* modeless dialogs return an error message */
r = dialog_run_message_loop( dialog ); r = dialog_run_message_loop( dialog );
if (r == ERROR_SUCCESS) if (r == ERROR_SUCCESS)
{
retval = dialog->retval;
msi_dialog_destroy( dialog ); msi_dialog_destroy( dialog );
return retval;
}
else else
{
package->dialog = dialog; package->dialog = dialog;
return IDOK;
}
} }
else r = ERROR_FUNCTION_FAILED; else return 0;
return r;
} }
/* end a modal dialog box */ /* 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}; static const WCHAR returnW[] = {'R','e','t','u','r','n',0};
if (!strcmpW( argument, exitW )) if (!strcmpW( argument, exitW ))
dialog->package->CurrentInstallState = ERROR_INSTALL_USEREXIT; dialog->retval = IDCANCEL;
else if (!strcmpW( argument, retryW )) else if (!strcmpW( argument, retryW ))
dialog->package->CurrentInstallState = ERROR_INSTALL_SUSPEND; dialog->retval = IDRETRY;
else if (!strcmpW( argument, ignoreW )) else if (!strcmpW( argument, ignoreW ))
dialog->package->CurrentInstallState = ERROR_SUCCESS; dialog->retval = IDOK;
else if (!strcmpW( argument, returnW )) else if (!strcmpW( argument, returnW ))
{ dialog->retval = 0;
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;
}
else else
{ {
ERR("Unknown argument string %s\n", debugstr_w(argument)); 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 ); event_cleanup_subscriptions( dialog->package, dialog->name );
msi_dialog_end_dialog( dialog ); msi_dialog_end_dialog( dialog );
return ERROR_SUCCESS; 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 */ /* transition from one modal dialog to another modal dialog */
static UINT event_new_dialog( msi_dialog *dialog, const WCHAR *argument ) 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; 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 */ /* create a new child dialog of an existing modal dialog */
static UINT event_spawn_dialog( msi_dialog *dialog, const WCHAR *argument ) static UINT event_spawn_dialog( msi_dialog *dialog, const WCHAR *argument )
{ {
INT r;
/* don't destroy a modeless dialogs that might be our parent */ /* don't destroy a modeless dialogs that might be our parent */
event_do_dialog( dialog->package, argument, dialog, FALSE ); r = event_do_dialog( dialog->package, argument, dialog, FALSE );
if (dialog->package->CurrentInstallState != ERROR_SUCCESS) if (r != 0)
{
dialog->retval = r;
msi_dialog_end_dialog( dialog ); msi_dialog_end_dialog( dialog );
}
else else
msi_dialog_update_all_controls(dialog); msi_dialog_update_all_controls(dialog);
return ERROR_SUCCESS; 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 */ /* 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 ) 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;
} }
/* Return ERROR_SUCCESS if dialog is process and ERROR_FUNCTION_FAILED INT ACTION_ShowDialog( MSIPACKAGE *package, const WCHAR *dialog )
* if the given parameter is not a dialog box
*/
UINT ACTION_DialogBox( 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"); if (package->next_dialog) ERR("Already got next dialog... ignoring it\n");
package->next_dialog = NULL; package->next_dialog = NULL;
/* Dialogs are chained by filling in the next_dialog member /* Dialogs are chained through NewDialog, which sets the next_dialog member.
* of the package structure, then terminating the current dialog. * We fall out of the loop if we reach a modeless dialog, which immediately
* The code below sees the next_dialog member set, and runs the * returns IDOK, or an EndDialog event, which returns the value corresponding
* next dialog. * to its argument.
* 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.
*/ */
r = event_do_dialog( package, dialog, NULL, TRUE ); r = event_do_dialog( package, dialog, NULL, TRUE );
while (r == ERROR_SUCCESS && package->next_dialog) while (package->next_dialog)
{ {
WCHAR *name = 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 ); r = event_do_dialog( package, name, NULL, TRUE );
msi_free( name ); msi_free( name );
} }
if (r == ERROR_IO_PENDING) r = ERROR_SUCCESS;
return r; 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[] = static const struct control_event control_events[] =
{ {
{ end_dialogW, event_end_dialog }, { end_dialogW, pending_event_end_dialog },
{ new_dialogW, event_new_dialog }, { new_dialogW, pending_event_new_dialog },
{ spawn_dialogW, event_spawn_dialog }, { spawn_dialogW, pending_event_spawn_dialog },
{ spawn_wait_dialogW, event_spawn_wait_dialog }, { spawn_wait_dialogW, event_spawn_wait_dialog },
{ do_actionW, event_do_action }, { do_actionW, event_do_action },
{ add_localW, event_add_local }, { add_localW, event_add_local },
+6 -6
View File
@@ -44,7 +44,7 @@ static void msi_file_update_ui( MSIPACKAGE *package, MSIFILE *f, const WCHAR *ac
MSI_RecordSetStringW( uirow, 1, f->FileName ); MSI_RecordSetStringW( uirow, 1, f->FileName );
MSI_RecordSetStringW( uirow, 9, f->Component->Directory ); MSI_RecordSetStringW( uirow, 9, f->Component->Directory );
MSI_RecordSetInteger( uirow, 6, f->FileSize ); MSI_RecordSetInteger( uirow, 6, f->FileSize );
msi_ui_actiondata( package, action, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_ui_progress( package, 2, f->FileSize, 0, 0 ); msi_ui_progress( package, 2, f->FileSize, 0, 0 );
} }
@@ -966,7 +966,7 @@ done:
MSI_RecordSetStringW( uirow, 1, MSI_RecordGetString(rec, 1) ); MSI_RecordSetStringW( uirow, 1, MSI_RecordGetString(rec, 1) );
MSI_RecordSetInteger( uirow, 6, 1 ); /* FIXME */ MSI_RecordSetInteger( uirow, 6, 1 ); /* FIXME */
MSI_RecordSetStringW( uirow, 9, destdir ); MSI_RecordSetStringW( uirow, 9, destdir );
msi_ui_actiondata( package, szMoveFiles, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free(sourcedir); msi_free(sourcedir);
@@ -1103,7 +1103,7 @@ static UINT ITERATE_DuplicateFiles(MSIRECORD *row, LPVOID param)
MSI_RecordSetStringW( uirow, 1, MSI_RecordGetString( row, 1 ) ); MSI_RecordSetStringW( uirow, 1, MSI_RecordGetString( row, 1 ) );
MSI_RecordSetInteger( uirow, 6, file->FileSize ); MSI_RecordSetInteger( uirow, 6, file->FileSize );
MSI_RecordSetStringW( uirow, 9, MSI_RecordGetString( row, 5 ) ); MSI_RecordSetStringW( uirow, 9, MSI_RecordGetString( row, 5 ) );
msi_ui_actiondata( package, szDuplicateFiles, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free(dest); msi_free(dest);
@@ -1179,7 +1179,7 @@ static UINT ITERATE_RemoveDuplicateFiles( MSIRECORD *row, LPVOID param )
uirow = MSI_CreateRecord( 9 ); uirow = MSI_CreateRecord( 9 );
MSI_RecordSetStringW( uirow, 1, MSI_RecordGetString( row, 1 ) ); MSI_RecordSetStringW( uirow, 1, MSI_RecordGetString( row, 1 ) );
MSI_RecordSetStringW( uirow, 9, MSI_RecordGetString( row, 5 ) ); MSI_RecordSetStringW( uirow, 9, MSI_RecordGetString( row, 5 ) );
msi_ui_actiondata( package, szRemoveDuplicateFiles, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free(dest); msi_free(dest);
@@ -1301,7 +1301,7 @@ done:
uirow = MSI_CreateRecord( 9 ); uirow = MSI_CreateRecord( 9 );
MSI_RecordSetStringW( uirow, 1, MSI_RecordGetString(row, 1) ); MSI_RecordSetStringW( uirow, 1, MSI_RecordGetString(row, 1) );
MSI_RecordSetStringW( uirow, 9, dir ); MSI_RecordSetStringW( uirow, 9, dir );
msi_ui_actiondata( package, szRemoveFiles, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free(filename); msi_free(filename);
@@ -1391,7 +1391,7 @@ UINT ACTION_RemoveFiles( MSIPACKAGE *package )
uirow = MSI_CreateRecord( 9 ); uirow = MSI_CreateRecord( 9 );
MSI_RecordSetStringW( uirow, 1, file->FileName ); MSI_RecordSetStringW( uirow, 1, file->FileName );
MSI_RecordSetStringW( uirow, 9, comp->Directory ); MSI_RecordSetStringW( uirow, 9, comp->Directory );
msi_ui_actiondata( package, szRemoveFiles, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
} }
+2 -2
View File
@@ -272,7 +272,7 @@ static UINT ITERATE_RegisterFonts(MSIRECORD *row, LPVOID param)
if (p) p++; if (p) p++;
else p = uipath; else p = uipath;
MSI_RecordSetStringW( uirow, 1, p ); MSI_RecordSetStringW( uirow, 1, p );
msi_ui_actiondata( package, szRegisterFonts, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free( uipath ); msi_free( uipath );
/* FIXME: call msi_ui_progress? */ /* FIXME: call msi_ui_progress? */
@@ -352,7 +352,7 @@ static UINT ITERATE_UnregisterFonts( MSIRECORD *row, LPVOID param )
if (p) p++; if (p) p++;
else p = uipath; else p = uipath;
MSI_RecordSetStringW( uirow, 1, p ); MSI_RecordSetStringW( uirow, 1, p );
msi_ui_actiondata( package, szUnregisterFonts, uirow ); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
msiobj_release( &uirow->hdr ); msiobj_release( &uirow->hdr );
msi_free( uipath ); msi_free( uipath );
/* FIXME: call msi_ui_progress? */ /* FIXME: call msi_ui_progress? */
+38 -51
View File
@@ -260,7 +260,7 @@ static WCHAR *deformat_environment( FORMAT *format, FORMSTR *str, int *ret_len )
} }
static WCHAR *deformat_literal( FORMAT *format, FORMSTR *str, BOOL *propfound, 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); LPCWSTR data = get_formstr_data(format, str);
WCHAR *replaced = NULL; WCHAR *replaced = NULL;
@@ -327,58 +327,24 @@ static LPWSTR build_default_format(const MSIRECORD* record)
{ {
int i; int i;
int count; int count;
LPWSTR rc, buf; WCHAR *rc, buf[26];
static const WCHAR fmt[] = {'%','i',':',' ','%','s',' ',0}; static const WCHAR fmt[] = {'%','i',':',' ','[','%','i',']',' ',0};
static const WCHAR fmt_null[] = {'%','i',':',' ',' ',0}; DWORD size;
static const WCHAR fmt_index[] = {'%','i',0};
LPCWSTR str;
WCHAR index[10];
DWORD size, max_len, len;
count = MSI_RecordGetFieldCount(record); count = MSI_RecordGetFieldCount(record);
max_len = MAX_PATH; rc = msi_alloc(1);
buf = msi_alloc((max_len + 1) * sizeof(WCHAR)); rc[0] = 0;
rc = NULL;
size = 1; size = 1;
for (i = 1; i <= count; i++) for (i = 1; i <= count; i++)
{ {
sprintfW(index, fmt_index, i); sprintfW(buf, fmt, i, i);
str = MSI_RecordGetString(record, i); size += lstrlenW(buf);
len = (str) ? lstrlenW(str) : 0; rc = msi_realloc(rc, size * sizeof(WCHAR));
len += (sizeof(fmt_null)/sizeof(fmt_null[0]) - 3) + lstrlenW(index); lstrcatW(rc, buf);
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);
}
} }
msi_free(buf);
return rc; return rc;
} }
@@ -669,7 +635,7 @@ static WCHAR *replace_stack_prop( FORMAT *format, STACK *values,
content->len = *oldsize - 2; content->len = *oldsize - 2;
content->type = *type; content->type = *type;
if (*type == FORMAT_NUMBER) if (*type == FORMAT_NUMBER && format->record)
{ {
replaced = deformat_index( format, content, len ); replaced = deformat_index( format, content, len );
if (replaced) if (replaced)
@@ -683,7 +649,7 @@ static WCHAR *replace_stack_prop( FORMAT *format, STACK *values,
} }
else if (format->package) else if (format->package)
{ {
replaced = deformat_literal( format, content, propfound, nonprop, type, len ); replaced = deformat_literal( format, content, propfound, type, len );
} }
else else
{ {
@@ -775,7 +741,7 @@ static BOOL verify_format(LPWSTR data)
static DWORD deformat_string_internal(MSIPACKAGE *package, LPCWSTR ptr, static DWORD deformat_string_internal(MSIPACKAGE *package, LPCWSTR ptr,
WCHAR** data, DWORD *len, WCHAR** data, DWORD *len,
MSIRECORD* record, INT* failcount) MSIRECORD* record)
{ {
FORMAT format; FORMAT format;
FORMSTR *str = NULL; 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, UINT MSI_FormatRecordW( MSIPACKAGE* package, MSIRECORD* record, LPWSTR buffer,
LPDWORD size ) LPDWORD size )
{ {
WCHAR *format, *deformated; WCHAR *format, *deformated = NULL;
UINT rc = ERROR_INVALID_PARAMETER; UINT rc = ERROR_INVALID_PARAMETER;
DWORD len; DWORD len;
MSIRECORD *record_deformated;
int field_count, i;
TRACE("%p %p %p %p\n", package, record, buffer, size); TRACE("%p %p %p %p\n", package, record, buffer, size);
dump_record(record);
if (!(format = msi_dup_record_field( record, 0 ))) if (!(format = msi_dup_record_field( record, 0 )))
format = build_default_format( record ); 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 (buffer)
{ {
if (*size>len) if (*size>len)
@@ -891,6 +876,8 @@ UINT MSI_FormatRecordW( MSIPACKAGE* package, MSIRECORD* record, LPWSTR buffer,
else rc = ERROR_SUCCESS; else rc = ERROR_SUCCESS;
*size = len; *size = len;
msiobj_release(&record_deformated->hdr);
end:
msi_free( format ); msi_free( format );
msi_free( deformated ); msi_free( deformated );
return rc; return rc;
+153 -13
View File
@@ -18,21 +18,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "The specified installation package could not be opened. Please check the file path and try again." 4 "The specified installation package could not be opened. Please check the file path and try again."
5 "ïúòÿò %s íå å íàìåðåí" 5 "ïúòÿò %s íå å íàìåðåí"
9 "ïîñòàâåòå äèñê %s" 9 "ïîñòàâåòå äèñê %s"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "âúâåäåòå ïàïêàòà, êîÿòî ñúäúðæà %s" 11 "âúâåäåòå ïàïêàòà, êîÿòî ñúäúðæà %s"
12 "èçòî÷íèêà çà èíñòàëàöèÿ íà ôóíêöèîíàëíîñòòà ëèïñâà" 12 "èçòî÷íèêà çà èíñòàëàöèÿ íà ôóíêöèîíàëíîñòòà ëèïñâà"
13 "ìðåæîâîòî óñòðîéñòâà íóæíî çà ôóíêöèîíàëíîñòòà ëèïñâà " 13 "ìðåæîâîòî óñòðîéñòâà íóæíî çà ôóíêöèîíàëíîñòòà ëèïñâà "
14 "ôóíêöèîíàëíîñò îò:" 14 "ôóíêöèîíàëíîñò îò:"
15 "èçáåðåòå ïàïêàòà, êîÿòî ñúäúðæà %s" 15 "èçáåðåòå ïàïêàòà, êîÿòî ñúäúðæà %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
+153 -13
View File
@@ -18,21 +18,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_DANISH, SUBLANG_DEFAULT LANGUAGE LANG_DANISH, SUBLANG_DEFAULT
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "Kunne ikke åbne den specificerede installationspakke. Kontroller stien og prøv igen." 4 "Kunne ikke åbne den specificerede installationspakke. Kontroller stien og prøv igen."
5 "kunne ikke finden stien '%s'." 5 "kunne ikke finden stien '%s'."
9 "indsæt disk '%s'" 9 "indsæt disk '%s'"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "angiv kataloget som indeholder '%s'." 11 "angiv kataloget som indeholder '%s'."
12 "featurens installationskilde mangler." 12 "featurens installationskilde mangler."
13 "featurens netværksdrev mangler." 13 "featurens netværksdrev mangler."
14 "feature fra:" 14 "feature fra:"
15 "Vælg kataloget som indeholder '%s'." 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
{
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]"
} }
+153 -13
View File
@@ -19,21 +19,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "Das angegebene Installationspaket konnte nicht geöffnet werden. Bitte überprüfen Sie den Pfadnamen und versuchen Sie es noch einmal." 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." 5 "Der Pfad %s wurde nicht gefunden."
9 "Bitte Disk %s einlegen." 9 "Bitte Disk %s einlegen."
10 "Windows Installer %s\n\nBenutzung:\nmsiexec Befehl {Parameter} [Zusätzliche Parammeter]\n\nProdukt installieren:\n\t/i {Paket|Produktcode} [Eigenschaft]\n\t/package {Paket|Produktcode} [Eigenschaft]\n\t/a Paket [Eigenschaft]\nInstallation reparieren:\n\t/f[p|o|e|d|c|a|u|m|s|v] {Paket|Produktcode}\nProdukt deinstallieren:\n\t/uninstall {Paket|Produktcode} [Eigenschaft]\n\t/x {Paket|Produktcode} [Eigenschaft]\nProdukt ankündigen:\n\t/j[u|m] Paket [/t Transformationspaket] [/g Sprachkennung]\nPatch integrieren:\n\t/p Patchpaket [Eigenschaft]\n\t/p Patchpaket /a Paket [Eigenschaft]\nProtokollierung und Benutzeroberfläche für die oberen Befehle anpassen:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] Protokolldatei\n\t/q{|n|b|r|f|n+|b+|b-}\nMSI Service registrieren:\n\t/y\nRegistrierung des MSI Service aufheben:\n\t/z\nHilfe anzeigen:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nBenutzung:\nmsiexec Befehl {Parameter} [Zusätzliche Parammeter]\n\nProdukt installieren:\n\t/i {Paket|Produktcode} [Eigenschaft]\n\t/package {Paket|Produktcode} [Eigenschaft]\n\t/a Paket [Eigenschaft]\nInstallation reparieren:\n\t/f[p|o|e|d|c|a|u|m|s|v] {Paket|Produktcode}\nProdukt deinstallieren:\n\t/uninstall {Paket|Produktcode} [Eigenschaft]\n\t/x {Paket|Produktcode} [Eigenschaft]\nProdukt ankündigen:\n\t/j[u|m] Paket [/t Transformationspaket] [/g Sprachkennung]\nPatch integrieren:\n\t/p Patchpaket [Eigenschaft]\n\t/p Patchpaket /a Paket [Eigenschaft]\nProtokollierung und Benutzeroberfläche für die oberen Befehle anpassen:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] Protokolldatei\n\t/q{|n|b|r|f|n+|b+|b-}\nMSI Service registrieren:\n\t/y\nRegistrierung des MSI Service aufheben:\n\t/z\nHilfe anzeigen:\n\t/help\n\t/?\n"
11 "Geben Sie das Verzeichnis ein, dass %s enthält." 11 "Geben Sie das Verzeichnis ein, dass %s enthält."
12 "Die Installationsquelle für das Feature fehlt." 12 "Die Installationsquelle für das Feature fehlt."
13 "Das Netzwerklaufwerk für das Feature fehlt." 13 "Das Netzwerklaufwerk für das Feature fehlt."
14 "Feature von:" 14 "Feature von:"
15 "Wählen Sie das Verzeichnis aus, dass %s enthält." 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
{
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]"
} }
+153 -13
View File
@@ -19,21 +19,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "The specified installation package could not be opened. Please check the file path and try again." 4 "The specified installation package could not be opened. Please check the file path and try again."
5 "path %s not found" 5 "path %s not found"
9 "insert disk %s" 9 "insert disk %s"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "enter which folder contains %s" 11 "enter which folder contains %s"
12 "install source for feature missing" 12 "install source for feature missing"
13 "network drive for feature missing" 13 "network drive for feature missing"
14 "feature from:" 14 "feature from:"
15 "choose which folder contains %s" 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
{
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]"
} }
+153 -13
View File
@@ -18,21 +18,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "No se ha podido abrir el paquete de instalación especificado. Por favor, compruebe la ruta del archivo y vuelva a intentarlo." 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" 5 "ruta %s no encontrada"
9 "inserte el disco %s" 9 "inserte el disco %s"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "introduzca qué carpeta contiene %s" 11 "introduzca qué carpeta contiene %s"
12 "instalar fuente para característica ausente" 12 "instalar fuente para característica ausente"
13 "unidad de red para característica ausente" 13 "unidad de red para característica ausente"
14 "característica de:" 14 "característica de:"
15 "elija qué carpeta contiene %s" 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
{
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]"
} }
+153 -13
View File
@@ -18,21 +18,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "Annettua asennuspakettia ei voitu avata. Tarkista tiedoston polku ja yritä uudelleen." 4 "Annettua asennuspakettia ei voitu avata. Tarkista tiedoston polku ja yritä uudelleen."
5 "Polkua %s ei löydy." 5 "Polkua %s ei löydy."
9 "Anna levy %s" 9 "Anna levy %s"
10 "Windows Installer %s\n\nKäyttö:\nmsiexec komento {pakollinen parametri} [valinnainen parametri]\n\nAsenna tuote:\n\t/i {paketti|tuotekoodi} [ominaisuus]\n\t/package {paketti|tuotekoodi} [ominaisuus]\n\t/a {paketti} [ominaisuus]\nKorjaa asennus:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paketti|tuotekoodi}\nPoista tuote:\n\t/uninstall {paketti|tuotekoodi} [ominaisuus]\n\t/x {paketti|tuotekoodi} [ominaisuus]\nMainosta (advertise) tuotetta:\n\t/j[u|m] paketti [/t muunnos] [/g kielitunnus]\nAsenna korjaus:\n\t/p korjauspaketti [ominaisuus]\n\t/p korjauspaketti /a paketti [ominaisuus]\nLoki- ja käyttöliittymäasetukset edellisille komennoille:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] lokitiedosto\n\t/q{|n|b|r|f|n+|b+|b-}\nRekisteröi MSI-palvelu:\n\t/y\nPeru MSI-palvelun rekisteröinti:\n\t/z\nNäytä tämä ohje:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nKäyttö:\nmsiexec komento {pakollinen parametri} [valinnainen parametri]\n\nAsenna tuote:\n\t/i {paketti|tuotekoodi} [ominaisuus]\n\t/package {paketti|tuotekoodi} [ominaisuus]\n\t/a {paketti} [ominaisuus]\nKorjaa asennus:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paketti|tuotekoodi}\nPoista tuote:\n\t/uninstall {paketti|tuotekoodi} [ominaisuus]\n\t/x {paketti|tuotekoodi} [ominaisuus]\nMainosta (advertise) tuotetta:\n\t/j[u|m] paketti [/t muunnos] [/g kielitunnus]\nAsenna korjaus:\n\t/p korjauspaketti [ominaisuus]\n\t/p korjauspaketti /a paketti [ominaisuus]\nLoki- ja käyttöliittymäasetukset edellisille komennoille:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] lokitiedosto\n\t/q{|n|b|r|f|n+|b+|b-}\nRekisteröi MSI-palvelu:\n\t/y\nPeru MSI-palvelun rekisteröinti:\n\t/z\nNäytä tämä ohje:\n\t/help\n\t/?\n"
11 "Anna kansio, jossa on %s" 11 "Anna kansio, jossa on %s"
12 "Ominaisuuden asennuslähde puuttuu." 12 "Ominaisuuden asennuslähde puuttuu."
13 "Ominaisuuden verkkolevy puuttuu." 13 "Ominaisuuden verkkolevy puuttuu."
14 "Ominaisuus:" 14 "Ominaisuus:"
15 "Valitse kansio, jossa on %s" 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
{
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]"
} }
+153 -14
View File
@@ -19,22 +19,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
/* UTF-8 */
#pragma code_page(65001)
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE STRINGTABLE
{ {
4 "Le paquet d'installation spécifié n'a pu être ouvert. Veuillez vérifier le chemin du fichier et réessayer." 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" 5 "Le chemin %s est introuvable"
9 "insérez le disque %s" 9 "insérez le disque %s"
10 "Programme d'installation Windows %s\n\nUsage :\nmsiexec commande {paramètre obligatoire} [paramètre optionnel]\n\nInstaller un produit :\n\t/i {paquet|code_produit} [propriété]\n\t/package {paquet|code_produit} [propriété]\n\t/a paquet [propriété]\nRéparer une installation :\n\t/f[p|o|e|d|c|a|u|m|s|v] {paquet|code_produit}\nDésinstaller un produit :\n\t/uninstall {paquet|code_produit} [propriété]\n\t/x {paquet|code_produit} [propriété]\nPublier un produit :\n\t/j[u|m] paquet [/t transformation] [/g id_langue]\nAppliquer un patch :\n\t/p paquet_patch [propriété]\n\t/p paquet_patch /a paquet [propriété]\nModificateurs de journalisation et d'interface utilisateur pour les commandes ci-dessus :\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] fichier_journal\n\t/q{|n|b|r|f|n+|b+|b-}\nEnregistrer le service MSI :\n\t/y\nAnnuler l'enregistrement du service MSI :\n\t/z\nAfficher cette aide :\n\t/help\n\t/?\n" 10 "Programme d'installation Windows %s\n\nUsage :\nmsiexec commande {paramètre obligatoire} [paramètre optionnel]\n\nInstaller un produit :\n\t/i {paquet|code_produit} [propriété]\n\t/package {paquet|code_produit} [propriété]\n\t/a paquet [propriété]\nRéparer une installation :\n\t/f[p|o|e|d|c|a|u|m|s|v] {paquet|code_produit}\nDésinstaller un produit :\n\t/uninstall {paquet|code_produit} [propriété]\n\t/x {paquet|code_produit} [propriété]\nPublier un produit :\n\t/j[u|m] paquet [/t transformation] [/g id_langue]\nAppliquer un patch :\n\t/p paquet_patch [propriété]\n\t/p paquet_patch /a paquet [propriété]\nModificateurs de journalisation et d'interface utilisateur pour les commandes ci-dessus :\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] fichier_journal\n\t/q{|n|b|r|f|n+|b+|b-}\nEnregistrer le service MSI :\n\t/y\nAnnuler l'enregistrement du service MSI :\n\t/z\nAfficher cette aide :\n\t/help\n\t/?\n"
11 "saisissez le nom du dossier contenant %s" 11 "saisissez le nom du dossier contenant %s"
12 "source d'installation pour la fonctionnalité manquante" 12 "source d'installation pour la fonctionnalité manquante"
13 "lecteur réseau pour la fonctionnalité manquante" 13 "lecteur réseau pour la fonctionnalité manquante"
14 "fonctionnalité depuis :" 14 "fonctionnalité depuis :"
15 "sélectionnez le dossier contenant %s" 15 "sélectionnez le dossier contenant %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
+153 -13
View File
@@ -21,21 +21,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "The specified installation package could not be opened. Please check the file path and try again." 4 "The specified installation package could not be opened. Please check the file path and try again."
5 "הנתיב %s לא נמצא" 5 "הנתיב %s לא נמצא"
9 "הכנס דיסק %s" 9 "הכנס דיסק %s"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "הזן איזו תיקיה מכילה את %s" 11 "הזן איזו תיקיה מכילה את %s"
12 "מקור ההתקנה עבור התכונה חסר" 12 "מקור ההתקנה עבור התכונה חסר"
13 "כונן רשת עבור התכונה חסר" 13 "כונן רשת עבור התכונה חסר"
14 "מהתקן מ:" 14 "מהתקן מ:"
15 "בחר איזו תיקיה מכילה את %s" 15 "בחר איזו תיקיה מכילה את %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
+153 -13
View File
@@ -18,21 +18,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "The specified installation package could not be opened. Please check the file path and try again." 4 "The specified installation package could not be opened. Please check the file path and try again."
5 "%s útvonal nem található" 5 "%s útvonal nem található"
9 "helyezze be a lemezt: %s" 9 "helyezze be a lemezt: %s"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "adja meg melyik mappa tartalmazza ezt: %s" 11 "adja meg melyik mappa tartalmazza ezt: %s"
12 "hiányzó tulajdonság a telepítési forráshoz" 12 "hiányzó tulajdonság a telepítési forráshoz"
13 "hiányzó tulajdonság a hálózati meghajtóhoz" 13 "hiányzó tulajdonság a hálózati meghajtóhoz"
14 "tulajdonság innen:" 14 "tulajdonság innen:"
15 "válassza ki, melyik mappa tartalmazza ezt: %s" 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
{
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]"
} }
+153 -14
View File
@@ -18,22 +18,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
/*UTF-8*/
#pragma code_page(65001)
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE STRINGTABLE
{ {
4 "Impossibile aprire il pacchetto di installazione specificato. Per favore controlla l'indirizzo del file e riprova." 4 "Impossibile aprire il pacchetto di installazione specificato. Per favore controlla l'indirizzo del file e riprova."
5 "percorso %s non trovato" 5 "percorso %s non trovato"
9 "inserire disco %s" 9 "inserire disco %s"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "immettere il nome della cartella che contiene %s" 11 "immettere il nome della cartella che contiene %s"
12 "sorgente di installazione per la funzionalità mancante" 12 "sorgente di installazione per la funzionalità mancante"
13 "periferica di rete per la funzionalità mancante" 13 "periferica di rete per la funzionalità mancante"
14 "funzionalità da:" 14 "funzionalità da:"
15 "selezionare la cartella che contiene %s" 15 "selezionare la cartella che 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
{
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]"
} }
+152 -10
View File
@@ -1,15 +1,157 @@
LANGUAGE LANG_JAPANESE, SUBLANG_NEUTRAL LANGUAGE LANG_JAPANESE, SUBLANG_NEUTRAL
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
5 "パス %s がみつかりませんでした" 5 "パス %s がみつかりませんでした"
9 "ディスク %s を挿入してください" 9 "ディスク %s を挿入してください"
10 "無効なパラメータです" 10 "無効なパラメータです"
11 "%s のあるフォルダを入力してください" 11 "%s のあるフォルダを入力してください"
12 "機能\のインストール元がありません" 12 "機能のインストール元がありません"
13 "機能\があるネットワーク ドライブがありません" 13 "機能があるネットワーク ドライブがありません"
14 "機能\の場所:" 14 "機能の場所:"
15 "%s のあるフォルダを選択してください" 15 "%s のあるフォルダを選択してください"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
+153 -13
View File
@@ -20,21 +20,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 " 지정한 설치 패키지를 열 수 없습니다. 파일 경로를 확인하고 다시 시도하십시오." 4 " 지정한 설치 패키지를 열 수 없습니다. 파일 경로를 확인하고 다시 시도하십시오."
5 "%s 경로를 찾을수 없습니다" 5 "%s 경로를 찾을수 없습니다"
9 "디스크 %s 삽입" 9 "디스크 %s 삽입"
10 "Windows Installer %s\n\n사용법:\nmsiexec 명령 {필수 매개변수} [선택적 매개변수]\n\n제품 설치:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\n설치 복구:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n제품 제거:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\n제품 알리기:\n\t/j[u|m] package [/t transform] [/g languageid]\n패치 추가:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\n위의 명령어를 위한 Log 와 UI 한정자 :\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nMSI 서비스 등록:\n\t/y\nMSI 서비스 등록 해제:\n\t/z\n도움말 보기:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\n사용법:\nmsiexec 명령 {필수 매개변수} [선택적 매개변수]\n\n제품 설치:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\n설치 복구:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n제품 제거:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\n제품 알리기:\n\t/j[u|m] package [/t transform] [/g languageid]\n패치 추가:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\n위의 명령어를 위한 Log 와 UI 한정자 :\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nMSI 서비스 등록:\n\t/y\nMSI 서비스 등록 해제:\n\t/z\n도움말 보기:\n\t/help\n\t/?\n"
11 "%s를 포함하는 폴더를 입력하세여" 11 "%s를 포함하는 폴더를 입력하세여"
12 "빠진 부분(feature)을 위한 설치 원본" 12 "빠진 부분(feature)을 위한 설치 원본"
13 "빠진 부분(feature)을 위한 네트워크 드라이브" 13 "빠진 부분(feature)을 위한 네트워크 드라이브"
14 "부분(feature)에서:" 14 "부분(feature)에서:"
15 " %s를 포함하는 폴더 선택" 15 " %s를 포함하는 폴더 선택"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
+153 -14
View File
@@ -18,22 +18,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
/* UTF-8 */
#pragma code_page(65001)
LANGUAGE LANG_LITHUANIAN, SUBLANG_NEUTRAL LANGUAGE LANG_LITHUANIAN, SUBLANG_NEUTRAL
STRINGTABLE STRINGTABLE
{ {
4 "Nepavyko atverti nurodyto diegimo paketo. Patikrinkite failo kelią ir mėginkite dar kartą." 4 "Nepavyko atverti nurodyto diegimo paketo. Patikrinkite failo kelią ir mėginkite dar kartą."
5 "kelias %s nerastas" 5 "kelias %s nerastas"
9 "įdėkite diską %s" 9 "įdėkite diską %s"
10 "Windows diegimo programa %s\n\nNaudojimas:\nmsiexec komanda {būtinas parametras} [nebūtinas parametras]\n\nĮdiegti produktą:\n\t/i {paketas|produkto_kodas} [savybė]\n\t/package {paketas|produkto_kodas} [savybė]\n\t/a paketas [savybė]\nTaisyti įdiegimą:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paketas|produkto_kodas}\nPašalinti produktą:\n\t/uninstall {paketas|produkto_kodas} [savybė]\n\t/x {paketas|produkto_kodas} [savybė]\nSkelbti produktą:\n\t/j[u|m] paketas [/t pakeitimas] [/g kalbos_identifikatorius]\nPritaikyti pataisą:\n\t/p pataisos_paketas [savybė]\n\t/p pataisos_paketas /a paketas [savybė]\nŽurnalo ir sąsajos modifikatoriai aukščiau išvardintoms komandoms:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] žurnalo_failas\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistruoti MSI tarnybą:\n\t/y\nIšregistruoti MSI tarnybą:\n\t/z\nParodyti šią pagalbą:\n\t/help\n\t/?\n" 10 "Windows diegimo programa %s\n\nNaudojimas:\nmsiexec komanda {būtinas parametras} [nebūtinas parametras]\n\nĮdiegti produktą:\n\t/i {paketas|produkto_kodas} [savybė]\n\t/package {paketas|produkto_kodas} [savybė]\n\t/a paketas [savybė]\nTaisyti įdiegimą:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paketas|produkto_kodas}\nPašalinti produktą:\n\t/uninstall {paketas|produkto_kodas} [savybė]\n\t/x {paketas|produkto_kodas} [savybė]\nSkelbti produktą:\n\t/j[u|m] paketas [/t pakeitimas] [/g kalbos_identifikatorius]\nPritaikyti pataisą:\n\t/p pataisos_paketas [savybė]\n\t/p pataisos_paketas /a paketas [savybė]\nŽurnalo ir sąsajos modifikatoriai aukščiau išvardintoms komandoms:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] žurnalo_failas\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistruoti MSI tarnybą:\n\t/y\nIšregistruoti MSI tarnybą:\n\t/z\nParodyti šią pagalbą:\n\t/help\n\t/?\n"
11 "įveskite aplanką, kuris turi %s" 11 "įveskite aplanką, kuris turi %s"
12 "trūksta diegimo šaltinio komponentui" 12 "trūksta diegimo šaltinio komponentui"
13 "trūksta tinklo disko komponentui" 13 "trūksta tinklo disko komponentui"
14 "komponentas iš:" 14 "komponentas iš:"
15 "parinkite aplanką, kuris turi %s" 15 "parinkite aplanką, kuris turi %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
+153 -13
View File
@@ -18,21 +18,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "Het opgegeven installatie pakket kon niet worden geopend. Verifieer het bestandspad en probeer opnieuw." 4 "Het opgegeven installatie pakket kon niet worden geopend. Verifieer het bestandspad en probeer opnieuw."
5 "Pad %s niet gevonden" 5 "Pad %s niet gevonden"
9 "Plaats disk %s" 9 "Plaats disk %s"
10 "Windows Installer %s\n\nGebruik:\nmsiexec commando {vereiste parameter} [optionele parameter]\n\nInstalleer een product:\n\t/i {pakket|productcode} [eigenschap]\n\t/package {pakket|productcode} [eigenschap]\n\t/a pakket [eigenschap]\nHerstel een installatie:\n\t/f[p|o|e|d|c|a|u|m|s|v] {pakket|productcode}\nVerwijder een product:\n\t/uninstall {pakket|productcode} [eigenschap]\n\t/x {pakket|productcode} [eigenschap]\nAdverteer een product:\n\t/j[u|m] pakket [/t transform] [/g languageid]\nPas een patch toe:\n\t/p patchpakket [eigenschap]\n\t/p patchpakket /a pakket [eigenschap]\nLog en UI Modifiers voor bovenstaande commando's:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logbestand\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistreer MSI Service:\n\t/y\nMaak registratie MSI Service ongedaan:\n\t/z\nLaat dit helpvenster zien:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nGebruik:\nmsiexec commando {vereiste parameter} [optionele parameter]\n\nInstalleer een product:\n\t/i {pakket|productcode} [eigenschap]\n\t/package {pakket|productcode} [eigenschap]\n\t/a pakket [eigenschap]\nHerstel een installatie:\n\t/f[p|o|e|d|c|a|u|m|s|v] {pakket|productcode}\nVerwijder een product:\n\t/uninstall {pakket|productcode} [eigenschap]\n\t/x {pakket|productcode} [eigenschap]\nAdverteer een product:\n\t/j[u|m] pakket [/t transform] [/g languageid]\nPas een patch toe:\n\t/p patchpakket [eigenschap]\n\t/p patchpakket /a pakket [eigenschap]\nLog en UI Modifiers voor bovenstaande commando's:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logbestand\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistreer MSI Service:\n\t/y\nMaak registratie MSI Service ongedaan:\n\t/z\nLaat dit helpvenster zien:\n\t/help\n\t/?\n"
11 "Voer de map in die %s bevat" 11 "Voer de map in die %s bevat"
12 "De installatiebron van de feature ontbreekt" 12 "De installatiebron van de feature ontbreekt"
13 "De netwerkschijf met de feature ontbreekt" 13 "De netwerkschijf met de feature ontbreekt"
14 "Feature van:" 14 "Feature van:"
15 "Kies de map die %s bevat" 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
{
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]"
} }
+153 -13
View File
@@ -18,21 +18,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "Klarte ikke åpne den oppgitte installasjonspakken. Kontroller filbanen og prøv igjen." 4 "Klarte ikke åpne den oppgitte installasjonspakken. Kontroller filbanen og prøv igjen."
5 "Fant ikke stien '%s'." 5 "Fant ikke stien '%s'."
9 "Sett i disk '%s'" 9 "Sett i disk '%s'"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "Oppgi katalogen som inneholder '%s'." 11 "Oppgi katalogen som inneholder '%s'."
12 "Egenskapens installasjonskilde mangler." 12 "Egenskapens installasjonskilde mangler."
13 "Egenskapens nettverksstasjon mangler." 13 "Egenskapens nettverksstasjon mangler."
14 "Egenskap fra::" 14 "Egenskap fra::"
15 "Velg katalogen som inneholder '%s'." 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
{
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]"
} }
+153 -13
View File
@@ -19,21 +19,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "Nie udało się otworzyć wybranego pakietu instalacyjnego. Sprawdź czy ścieżka jest poprawna i spróbuj ponownie." 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" 5 "ścieżka '%s' nie została odnaleziona"
9 "włóż dysk '%s'" 9 "włóż dysk '%s'"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "wprowadź siceżkę do folderu zawierającego '%s'" 11 "wprowadź siceżkę do folderu zawierającego '%s'"
12 "źródło danych zawierające żądanę funkcję jest niedostępne" 12 "źródło danych zawierające żądanę funkcję jest niedostępne"
13 "dysk siecowy zawierający żądaną funckje jest niedostępny" 13 "dysk siecowy zawierający żądaną funckje jest niedostępny"
14 "funkcja z:" 14 "funkcja z:"
15 "wybierz folder zawierający '%s'" 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
{
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]"
} }
+306 -22
View File
@@ -20,36 +20,320 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
#pragma code_page(65001)
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
STRINGTABLE STRINGTABLE
{ {
4 "O pacote de instalação especificado não pôde ser aberto. Por favor, verifique o arquivo e tente novamente." 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" 5 "caminho %s não encontrado"
9 "insira disco %s" 9 "insira disco %s"
10 "Windows Installer %s\n\nModo de usar:\nmsiexec command {required parameter} [optional parammeter]\n\nInstalar um produto:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nReparar uma instalação:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nDesinstalar um produto:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAnunciar um produto:\n\t/j[u|m] package [/t transform] [/g languageid]\nAplicar um patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nModificadores Log e UI para os comandos acima:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistrar Serviço MSI:\n\t/y\nDesregistrar Serviço MSI:\n\t/z\nMostrar esta ajuda:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nModo de usar:\nmsiexec command {required parameter} [optional parammeter]\n\nInstalar um produto:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nReparar uma instalação:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nDesinstalar um produto:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAnunciar um produto:\n\t/j[u|m] package [/t transform] [/g languageid]\nAplicar um patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nModificadores Log e UI para os comandos acima:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistrar Serviço MSI:\n\t/y\nDesregistrar Serviço MSI:\n\t/z\nMostrar esta ajuda:\n\t/help\n\t/?\n"
11 "entre a pasta que contém %s" 11 "entre a pasta que contém %s"
12 "faltando fonte de instalação para característica" 12 "faltando fonte de instalação para característica"
13 "faltando drive de rede para característica" 13 "faltando drive de rede para característica"
14 "origem da característica:" 14 "origem da característica:"
15 "escolha a pasta que contém %s" 15 "escolha a pasta que contém %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
STRINGTABLE STRINGTABLE
{ {
4 "The specified installation package could not be opened. Please check the file path and try again." 4 "The specified installation package could not be opened. Please check the file path and try again."
5 "localização %s não encontrada" 5 "localização %s não encontrada"
9 "insira o disco %s" 9 "insira o disco %s"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "indique que pasta contém %s" 11 "indique que pasta contém %s"
12 "instalar fonte para a opção em falta" 12 "instalar fonte para a opção em falta"
13 "controlador de rede para a opção em falta" 13 "controlador de rede para a opção em falta"
14 "opção de:" 14 "opção de:"
15 "indique que pasta contém %s" 15 "indique que pasta contém %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
+167 -27
View File
@@ -18,35 +18,175 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "Pachetul de instalare menționat nu a putut fi deschis. Verificați calea și încercați din nou." 4 "Pachetul de instalare menționat nu a putut fi deschis. Verificați calea și încercați din nou."
5 "calea %s nu a fost găsită" 5 "calea %s nu a fost găsită"
9 "inserați discul %s" 9 "inserați discul %s"
10 "Instalatorul Windows %s\n\nUtilizare:\nmsiexec command {parametru obligatoriu} [parametru opțional]\n\n" \ 10 "Instalatorul Windows %s\n\nUtilizare:\nmsiexec command {parametru obligatoriu} [parametru opțional]\n\n \
"Instalarea unui produs:\n\t/i {pachet|cod_produs} [proprietate]" \ Instalarea unui produs:\n\t/i {pachet|cod_produs} [proprietate] \
"\n\t/package {pachet|cod_produs} [proprietate]" \ \n\t/package {pachet|cod_produs} [proprietate] \
"\n\t/a pachet [proprietate]\n" \ \n\t/a pachet [proprietate]\n \
"Repararea unei instalări:\n\t/f[p|o|e|d|c|a|u|m|s|v] {pachet|cod_produs}\n" \ Repararea unei instalări:\n\t/f[p|o|e|d|c|a|u|m|s|v] {pachet|cod_produs}\n \
"Dezinstalarea unui produs:\n\t/uninstall {pachet|cod_produs} [proprietate]" \ Dezinstalarea unui produs:\n\t/uninstall {pachet|cod_produs} [proprietate] \
"\n\t/x {pachet|cod_produs} [proprietate]\n" \ \n\t/x {pachet|cod_produs} [proprietate]\n \
"Promovarea unui produs:\n\t/j[u|m] pachet [/t transformare] [/g id_limbă]\n" \ Promovarea unui produs:\n\t/j[u|m] pachet [/t transformare] [/g id_limbă]\n \
"Aplicarea unui patch:\n\t/p pachet_patch [proprietate]" \ Aplicarea unui patch:\n\t/p pachet_patch [proprietate] \
"\n\t/p pachet_patch /a pachet [proprietate]\n" \ \n\t/p pachet_patch /a pachet [proprietate]\n \
"Jurnalizare și modificatori de interfață pentru comenzile enumerate:" \ Jurnalizare și modificatori de interfață pentru comenzile enumerate: \
"\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] fișier_jurnal\n\t/q{|n|b|r|f|n+|b+|b-}\n" \ \n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] fișier_jurnal\n\t/q{|n|b|r|f|n+|b+|b-}\n \
"Înregistrarea serviciului MSI:\n\t/y\n" \ Înregistrarea serviciului MSI:\n\t/y\n \
"Excluderea serviciului MSI:\n\t/z\n" \ Excluderea serviciului MSI:\n\t/z\n \
"Afișarea acestui manual:\n\t/help\n\t/?\n" Afișarea acestui manual:\n\t/help\n\t/?\n"
11 "introduceți fișierul care conține %s" 11 "introduceți fișierul care conține %s"
12 "lipsește sursa de instalare pentru această caracteristică" 12 "lipsește sursa de instalare pentru această caracteristică"
13 "lipsește unitatea de rețea pentru această caracteristică" 13 "lipsește unitatea de rețea pentru această caracteristică"
14 "caracteristică de la:" 14 "caracteristică de la:"
15 "selectați fișierul care conține %s" 15 "selectați fișierul care conține %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
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]"
} }
+153 -14
View File
@@ -18,22 +18,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
/* UTF-8 */
#pragma code_page(65001)
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
STRINGTABLE STRINGTABLE
{ {
4 "Указанный пакет не может быть открыт. Проверьте файл и повторите попытку." 4 "Указанный пакет не может быть открыт. Проверьте файл и повторите попытку."
5 "путь %s не найден" 5 "путь %s не найден"
9 "вставьте диск %s" 9 "вставьте диск %s"
10 "Устанновщик ReactOS %s\n\nИспользование:\nmsiexec команда {обязательные параметры} [необязательные параметры]\n\nУстановить продукт:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nВосстановить установку:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nУдалить продукт:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nПрименить патч:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\Регистрация сервиса MSI:\n\t/y\nUnregister MSI Service:\n\t/z\nОтобразить эту справку:\n\t/help\n\t/?\n" 10 "Устанновщик ReactOS %s\n\nИспользование:\nmsiexec команда {обязательные параметры} [необязательные параметры]\n\nУстановить продукт:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nВосстановить установку:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nУдалить продукт:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nПрименить патч:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nРегистрация сервиса MSI:\n\t/y\nUnregister MSI Service:\n\t/z\nОтобразить эту справку:\n\t/help\n\t/?\n"
11 "укажите каталог, содержащий %s" 11 "укажите каталог, содержащий %s"
12 "источник установки данной возможности не указан" 12 "источник установки данной возможности не указан"
13 "сетевой диск для данной возможности не указан" 13 "сетевой диск для данной возможности не указан"
14 "возможность из:" 14 "возможность из:"
15 "выберите каталог, содержащий %s" 15 "выберите каталог, содержащий %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
+153 -13
View File
@@ -18,21 +18,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
#pragma code_page(65001)
LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
STRINGTABLE STRINGTABLE
{ {
4 "Navedenega namestitvenega paketa ni mogoče odpreti. Preverite ime datoteke in poskusite znova." 4 "Navedenega namestitvenega paketa ni mogoče odpreti. Preverite ime datoteke in poskusite znova."
5 "pot %s ne obstaja" 5 "pot %s ne obstaja"
9 "vnesite disk %s" 9 "vnesite disk %s"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "vnesite ime mape, ki vsebuje %s" 11 "vnesite ime mape, ki vsebuje %s"
12 "manjkajoč namestitveni vir za namestitev funkcije" 12 "manjkajoč namestitveni vir za namestitev funkcije"
13 "manjkajoč omrežni pogon za namestitev funkcijo" 13 "manjkajoč omrežni pogon za namestitev funkcijo"
14 "funkcija z:" 14 "funkcija z:"
15 "izberite mapo, ki vsebuje %s" 15 "izberite mapo, ki vsebuje %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
+153 -13
View File
@@ -19,21 +19,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "Paketa e specifikuar instalimi nuk mund të hapet. Ju lutem kontrolloni rrugën e dokumentit dhe të provoni përsëri." 4 "Paketa e specifikuar instalimi nuk mund të hapet. Ju lutem kontrolloni rrugën e dokumentit dhe të provoni përsëri."
5 "rruga %s nuk u gjënd" 5 "rruga %s nuk u gjënd"
9 "fusni diskun %s" 9 "fusni diskun %s"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "hyr e cila dosje përmban %s" 11 "hyr e cila dosje përmban %s"
12 "instalo burimin për funksionin e munguar" 12 "instalo burimin për funksionin e munguar"
13 "rrjet drive-ri për funksionin e munguar" 13 "rrjet drive-ri për funksionin e munguar"
14 "funksione nga:" 14 "funksione nga:"
15 "zgjidhni dosjen që përmban %s" 15 "zgjidhni dosjen që përmban %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
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]"
} }
+306 -22
View File
@@ -19,36 +19,320 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
#pragma code_page(65001)
LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN
STRINGTABLE STRINGTABLE
{ {
4 "Instalacija ne može biti otvorena. Molimo proverite destinaciju fajla i pokušajte ponovo." 4 "Instalacija ne može biti otvorena. Molimo proverite destinaciju fajla i pokušajte ponovo."
5 "putanja %s nije nađena" 5 "putanja %s nije nađena"
9 "Ubacite disk %s" 9 "Ubacite disk %s"
10 "Windows Instalacija programa %s\n\nSvrha:\nmsiexec komanda {traženi parametar} [opcioni parametar]\n\nInstalacija proizvoda:\n\t/i {paket|kod} [svojina]\n\t/package {paket|kod} [svojina]\n\t/a paket [svojina]\nPopravak instalacije:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paket|kod}\nUninstal programa:\n\t/uninstall {paket|kod} [svojina]\n\t/x {paket|kod} [svojina]\nReklama programa:\n\t/j[u|m] paket [/t pretvori] [/g id jezika]\nPrimeni peč:\n\t/p pečpaket [svojina]\n\t/p pečpaket /a paket [svojina]\nIzveštalj i Izgled Modifikatori za komande iznad:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] izvestaj\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistracija MSI Servisa:\n\t/y\n Uklanjanje MSI Servisa:\n\t/z\nPrikaži ovu Pomoć:\n\t/help\n\t/?\n" 10 "Windows Instalacija programa %s\n\nSvrha:\nmsiexec komanda {traženi parametar} [opcioni parametar]\n\nInstalacija proizvoda:\n\t/i {paket|kod} [svojina]\n\t/package {paket|kod} [svojina]\n\t/a paket [svojina]\nPopravak instalacije:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paket|kod}\nUninstal programa:\n\t/uninstall {paket|kod} [svojina]\n\t/x {paket|kod} [svojina]\nReklama programa:\n\t/j[u|m] paket [/t pretvori] [/g id jezika]\nPrimeni peč:\n\t/p pečpaket [svojina]\n\t/p pečpaket /a paket [svojina]\nIzveštalj i Izgled Modifikatori za komande iznad:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] izvestaj\n\t/q{|n|b|r|f|n+|b+|b-}\nRegistracija MSI Servisa:\n\t/y\n Uklanjanje MSI Servisa:\n\t/z\nPrikaži ovu Pomoć:\n\t/help\n\t/?\n"
11 "unesite koji folder sadrži %s" 11 "unesite koji folder sadrži %s"
12 "instalacija nedostaje" 12 "instalacija nedostaje"
13 "mrežni drajv nedostaje" 13 "mrežni drajv nedostaje"
14 "dodatak sa:" 14 "dodatak sa:"
15 "izaberite koji folder sadrži %s" 15 "izaberite koji folder sadrži %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC
STRINGTABLE STRINGTABLE
{ {
4 "Инсталација не може бити отворена. Молимо проверите дестинацију фајла и покушајте поново." 4 "Инсталација не може бити отворена. Молимо проверите дестинацију фајла и покушајте поново."
5 "путања %s није нађена" 5 "путања %s није нађена"
9 "Убаците диск %s" 9 "Убаците диск %s"
10 "Виндовс Инсталација програма %s\n\nСврха:\nmsiexec команда {тражени параметар} [опциони параметар]\n\nИнсталација производа:\n\t/i {пакет|код} [својина]\n\t/package {пакет|код} [својина]\n\t/a пакет [svojina]\nПоправак инсталације:\n\t/f[p|o|e|d|c|a|u|m|s|v] {пакет|код}\nБрисање програма:\n\t/uninstall {пакет|код} [svojina]\n\t/x {пакет|код} [својина]\nРеклама програма:\n\t/j[u|m] пакет [/t transform] [/g languageid]\nПримени печ:\n\t/p печпакет [својина]\n\t/p печпакет /a пакет [својина]\nИзвестај и Изглед Модификатора за команде изнад:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] извештај\n\t/q{|n|b|r|f|n+|b+|b-}\nРегистрација МСИ Сервиса:\n\t/y\nУклањање МСИ Сервиса:\n\t/z\nПрикажи ову Помоћ:\n\t/help\n\t/?\n" 10 "Виндовс Инсталација програма %s\n\nСврха:\nmsiexec команда {тражени параметар} [опциони параметар]\n\nИнсталација производа:\n\t/i {пакет|код} [својина]\n\t/package {пакет|код} [својина]\n\t/a пакет [svojina]\nПоправак инсталације:\n\t/f[p|o|e|d|c|a|u|m|s|v] {пакет|код}\nБрисање програма:\n\t/uninstall {пакет|код} [svojina]\n\t/x {пакет|код} [својина]\nРеклама програма:\n\t/j[u|m] пакет [/t transform] [/g languageid]\nПримени печ:\n\t/p печпакет [својина]\n\t/p печпакет /a пакет [својина]\nИзвестај и Изглед Модификатора за команде изнад:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] извештај\n\t/q{|n|b|r|f|n+|b+|b-}\nРегистрација МСИ Сервиса:\n\t/y\nУклањање МСИ Сервиса:\n\t/z\nПрикажи ову Помоћ:\n\t/help\n\t/?\n"
11 "Унесите који фолдер садржи %s" 11 "Унесите који фолдер садржи %s"
12 "Инсталација недостаје" 12 "Инсталација недостаје"
13 "Мрежни драјв недостаје" 13 "Мрежни драјв недостаје"
14 "Додатак са:" 14 "Додатак са:"
15 "Изаберите који фолдер садржи %s" 15 "Изаберите који фолдер садржи %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
+153 -13
View File
@@ -18,21 +18,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "Det angivna installationspaketet kunde inte öppnas. Kontrollera filsökvägen och försök igen." 4 "Det angivna installationspaketet kunde inte öppnas. Kontrollera filsökvägen och försök igen."
5 "sökvägen %s hittades inte" 5 "sökvägen %s hittades inte"
9 "mata in %s" 9 "mata in %s"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "ange vilken mapp som innehåller %s" 11 "ange vilken mapp som innehåller %s"
12 "installationskälla för funktion saknar" 12 "installationskälla för funktion saknar"
13 "nätverksenhet för funktion saknar" 13 "nätverksenhet för funktion saknar"
14 "funktion från:" 14 "funktion från:"
15 "välj den mapp som innehåller %s" 15 "välj den mapp som innehåller %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
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]"
} }
+153 -13
View File
@@ -18,21 +18,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
#pragma code_page(65001)
STRINGTABLE STRINGTABLE
{ {
4 "Belirtilen kurulum paketi açılamadı. Lütfen, kütüğün yolunu denetleyiniz ve yeiden deneyiniz." 4 "Belirtilen kurulum paketi açılamadı. Lütfen, kütüğün yolunu denetleyiniz ve yeiden deneyiniz."
5 "%s yolu bulunamadı." 5 "%s yolu bulunamadı."
9 "%s diskini takınız." 9 "%s diskini takınız."
10 "Windows Yükleyici %s\n\nKullanım:\nmsiexec komut {gerekli değişkenler} [seçimlik değişkenler]\n\nBir ürün yükle:\n\t/i {paket|ürün kodu} [husûsiyet]\n\t/package {paket|ürün kodu} [husûsiyet]\n\t/a paket [husûsiyet]\nBir kurulum onar:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paket|ürün kodu}\nBir ürün kaldır:\n\t/uninstall {paket|ürün kodu} [husûsiyet]\n\t/x {paket|ürün kodu} [husûsiyet]\nBir ürün bildir:\n\t/j[u|m] paket [/t dönüşüm] [/g dil kimliği]\nBir yama uygula:\n\t/p yama paketi [husûsiyet]\n\t/p yama paketi /a paket [husûsiyet]\nYukarıdaki komutlar için kayıt ve kullanıcı arayüzü tümleyicileri:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] kayıt kütüğü\n\t/q{|n|b|r|f|n+|b+|b-}\nMSI hizmetini sakla:\n\t/y\nMSI hizmetinin kaydını sil:\n\t/z\nBu yardımı görüntüle:\n\t/help\n\t/?\n" 10 "Windows Yükleyici %s\n\nKullanım:\nmsiexec komut {gerekli değişkenler} [seçimlik değişkenler]\n\nBir ürün yükle:\n\t/i {paket|ürün kodu} [husûsiyet]\n\t/package {paket|ürün kodu} [husûsiyet]\n\t/a paket [husûsiyet]\nBir kurulum onar:\n\t/f[p|o|e|d|c|a|u|m|s|v] {paket|ürün kodu}\nBir ürün kaldır:\n\t/uninstall {paket|ürün kodu} [husûsiyet]\n\t/x {paket|ürün kodu} [husûsiyet]\nBir ürün bildir:\n\t/j[u|m] paket [/t dönüşüm] [/g dil kimliği]\nBir yama uygula:\n\t/p yama paketi [husûsiyet]\n\t/p yama paketi /a paket [husûsiyet]\nYukarıdaki komutlar için kayıt ve kullanıcı arayüzü tümleyicileri:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] kayıt kütüğü\n\t/q{|n|b|r|f|n+|b+|b-}\nMSI hizmetini sakla:\n\t/y\nMSI hizmetinin kaydını sil:\n\t/z\nBu yardımı görüntüle:\n\t/help\n\t/?\n"
11 "%s içeren dizini giriniz." 11 "%s içeren dizini giriniz."
12 "Husûsiyet eksikliği için kurulum kaynağı" 12 "Husûsiyet eksikliği için kurulum kaynağı"
13 "Husûsiyet eksikliği için ağ sürücüsü" 13 "Husûsiyet eksikliği için ağ sürücüsü"
14 "Şuradan özellik:" 14 "Şuradan özellik:"
15 "%s içeren dizini seçiniz." 15 "%s içeren dizini seçiniz."
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
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]"
} }
+153 -14
View File
@@ -20,22 +20,161 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
/* UTF-8 */
#pragma code_page(65001)
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE STRINGTABLE
{ {
4 "Не вдалося відкрити вказаний пакет інсталяції. Перевірте шлях до файлу та спробуйте знов." 4 "Не вдалося відкрити вказаний пакет інсталяції. Перевірте шлях до файлу та спробуйте знов."
5 "шлях %s не знайдено" 5 "шлях %s не знайдено"
9 "вставте диск %s" 9 "вставте диск %s"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "вкажіть папку, що містить %s" 11 "вкажіть папку, що містить %s"
12 "джерело встановлення даної можливості не вказане" 12 "джерело встановлення даної можливості не вказане"
13 "мережевий диск для даної можливості не вказаний" 13 "мережевий диск для даної можливості не вказаний"
14 "можливість з:" 14 "можливість з:"
15 "виберіть папку, що містить %s" 15 "виберіть папку, що містить %s"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
+306 -23
View File
@@ -18,37 +18,320 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "windef.h"
/* Chinese text is encoded in UTF-8 */
#pragma code_page(65001)
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
STRINGTABLE STRINGTABLE
{ {
4 "不能打开所指定的安装软件包. 请检查文件路径后再试." 4 "不能打开所指定的安装软件包. 请检查文件路径后再试."
5 "路径 %s 没找到" 5 "路径 %s 没找到"
9 "插入软盘 %s" 9 "插入软盘 %s"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "输入包含 %s 的文件夹" 11 "输入包含 %s 的文件夹"
12 "本功能的安装源不存在" 12 "本功能的安装源不存在"
13 "本功能的网络驱动器不存在" 13 "本功能的网络驱动器不存在"
14 "功能来自:" 14 "功能来自:"
15 "选择包含 %s 的文件夹" 15 "选择包含 %s 的文件夹"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
STRINGTABLE STRINGTABLE
{ {
4 "不能開啟所指定的安裝軟件包. 請檢查檔案路徑後再試." 4 "不能開啟所指定的安裝軟件包. 請檢查檔案路徑後再試."
5 "路徑 %s 沒找到" 5 "路徑 %s 沒找到"
9 "插入軟碟 %s" 9 "插入軟碟 %s"
10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parammeter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n" 10 "Windows Installer %s\n\nUsage:\nmsiexec command {required parameter} [optional parameter]\n\nInstall a product:\n\t/i {package|productcode} [property]\n\t/package {package|productcode} [property]\n\t/a package [property]\nRepair an installation:\n\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\nUninstall a product:\n\t/uninstall {package|productcode} [property]\n\t/x {package|productcode} [property]\nAdvertise a product:\n\t/j[u|m] package [/t transform] [/g languageid]\nApply a patch:\n\t/p patchpackage [property]\n\t/p patchpackage /a package [property]\nLog and UI Modifiers for above commands:\n\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n\t/q{|n|b|r|f|n+|b+|b-}\nRegister MSI Service:\n\t/y\nUnregister MSI Service:\n\t/z\nDisplay this help:\n\t/help\n\t/?\n"
11 "輸入包含 %s 的檔案夾" 11 "輸入包含 %s 的檔案夾"
12 "本功能的安裝源不存在" 12 "本功能的安裝源不存在"
13 "本功能的網路儲存槽不存在" 13 "本功能的網路儲存槽不存在"
14 "功能來自:" 14 "功能來自:"
15 "選擇包含 %s 的檔案夾" 15 "選擇包含 %s 的檔案夾"
}
/* Error messages */
STRINGTABLE
{
IDS_FATALEXIT "{{Fatal error: }}"
IDS_ERROR "{{Error [1]. }}"
IDS_WARNING "Warning [1]."
IDS_INFO "Info [1]."
IDS_INSTALLERROR "The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}"
IDS_OUTOFDISKSPACE "{{Disk full: }}"
IDS_ACTIONSTART "Action [Time]: [1]. [2]"
IDS_COMMONDATA "Message type: [1], Argument: [2]{, [3]}"
IDS_INFO_ACTIONSTART "Action start [Time]: [1]."
IDS_INFO_ACTIONENDED "Action ended [Time]: [1]. Return value [2]."
IDS_INFO_LOGGINGSTART "=== Logging started: [Date] [Time] ==="
IDS_ERR_INSERTDISK "Please insert the disk: [2]"
IDS_ERR_CABNOTFOUND "Source file not found{{(cabinet)}}: [2]. Verify that the file exists and that you can access it."
}
/* Standard action description strings */
STRINGTABLE
{
IDS_DESC_ALLOCATEREGISTRYSPACE "Allocating registry space"
IDS_DESC_APPSEARCH "Searching for installed applications"
IDS_DESC_BINDIMAGE "Binding executables"
IDS_DESC_CCPSEARCH "Searching for qualifying products"
IDS_DESC_COSTFINALIZE "Computing space requirements"
IDS_DESC_COSTINITIALIZE "Computing space requirements"
IDS_DESC_CREATEFOLDERS "Creating folders"
IDS_DESC_CREATESHORTCUTS "Creating shortcuts"
IDS_DESC_DELETESERVICES "Deleting services"
IDS_DESC_DUPLICATEFILES "Creating duplicate files"
IDS_DESC_FILECOST "Computing space requirements"
IDS_DESC_FINDRELATEDPRODUCTS "Searching for related applications"
IDS_DESC_INSTALLADMINPACKAGE "Copying network install files"
IDS_DESC_INSTALLFILES "Copying new files"
IDS_DESC_INSTALLODBC "Installing ODBC components"
IDS_DESC_INSTALLSERVICES "Installing new services"
IDS_DESC_INSTALLSFPCATALOGFILE "Installing system catalog"
IDS_DESC_INSTALLVALIDATE "Validating install"
IDS_DESC_LAUNCHCONDITIONS "Evaluating launch conditions"
IDS_DESC_MIGRATEFEATURESTATES "Migrating feature states from related applications"
IDS_DESC_MOVEFILES "Moving files"
IDS_DESC_MSIPUBLISHASSEMBLIES "Publishing assembly information"
IDS_DESC_MSIUNPUBLISHASSEMBLIES "Unpublishing assembly information"
IDS_DESC_PATCHFILES "Patching files"
IDS_DESC_PROCESSCOMPONENTS "Updating component registration"
IDS_DESC_PUBLISHCOMPONENTS "Publishing Qualified Components"
IDS_DESC_PUBLISHFEATURES "Publishing Product Features"
IDS_DESC_PUBLISHPRODUCT "Publishing product information"
IDS_DESC_REGISTERCLASSINFO "Registering Class servers"
IDS_DESC_REGISTERCOMPLUS "Registering COM+ Applications and Components"
IDS_DESC_REGISTEREXTENSIONINFO "Registering extension servers"
IDS_DESC_REGISTERFONTS "Registering fonts"
IDS_DESC_REGISTERMIMEINFO "Registering MIME info"
IDS_DESC_REGISTERPRODUCT "Registering product"
IDS_DESC_REGISTERPROGIDINFO "Registering program identifiers"
IDS_DESC_REGISTERTYPELIBRARIES "Registering type libraries"
IDS_DESC_REGISTERUSER "Registering user"
IDS_DESC_REMOVEDUPLICATEFILES "Removing duplicated files"
IDS_DESC_REMOVEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_REMOVEEXISTINGPRODUCTS "Removing applications"
IDS_DESC_REMOVEFILES "Removing files"
IDS_DESC_REMOVEFOLDERS "Removing folders"
IDS_DESC_REMOVEINIVALUES "Removing INI files entries"
IDS_DESC_REMOVEODBC "Removing ODBC components"
IDS_DESC_REMOVEREGISTRYVALUES "Removing system registry values"
IDS_DESC_REMOVESHORTCUTS "Removing shortcuts"
IDS_DESC_RMCCPSEARCH "Searching for qualifying products"
IDS_DESC_SELFREGMODULES "Registering modules"
IDS_DESC_SELFUNREGMODULES "Unregistering modules"
IDS_DESC_SETODBCFOLDERS "Initializing ODBC directories"
IDS_DESC_STARTSERVICES "Starting services"
IDS_DESC_STOPSERVICES "Stopping services"
IDS_DESC_UNPUBLISHCOMPONENTS "Unpublishing Qualified Components"
IDS_DESC_UNPUBLISHFEATURES "Unpublishing Product Features"
IDS_DESC_UNPUBLISHPRODUCT "Unpublishing product information"
IDS_DESC_UNREGISTERCLASSINFO "Unregister Class servers"
IDS_DESC_UNREGISTERCOMPLUS "Unregistering COM+ Applications and Components"
IDS_DESC_UNREGISTEREXTENSIONINFO "Unregistering extension servers"
IDS_DESC_UNREGISTERFONTS "Unregistering fonts"
IDS_DESC_UNREGISTERMIMEINFO "Unregistering MIME info"
IDS_DESC_UNREGISTERPROGIDINFO "Unregistering program identifiers"
IDS_DESC_UNREGISTERTYPELIBRARIES "Unregistering type libraries"
IDS_DESC_WRITEENVIRONMENTSTRINGS "Updating environment strings"
IDS_DESC_WRITEINIVALUES "Writing INI files values"
IDS_DESC_WRITEREGISTRYVALUES "Writing system registry values"
}
/* Standard action template strings */
STRINGTABLE
{
IDS_TEMP_ALLOCATEREGISTRYSPACE "Free space: [1]"
IDS_TEMP_APPSEARCH "Property: [1], Signature: [2]"
IDS_TEMP_BINDIMAGE "File: [1]"
IDS_TEMP_CREATEFOLDERS "Folder: [1]"
IDS_TEMP_CREATESHORTCUTS "Shortcut: [1]"
IDS_TEMP_DELETESERVICES "Service: [1]"
IDS_TEMP_DUPLICATEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_FINDRELATEDPRODUCTS "Found application: [1]"
IDS_TEMP_INSTALLADMINPACKAGE "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_INSTALLSERVICES "Service: [2]"
IDS_TEMP_INSTALLSFPCATALOGFILE "File: [1], Dependencies: [2]"
IDS_TEMP_MIGRATEFEATURESTATES "Application: [1]"
IDS_TEMP_MOVEFILES "File: [1], Directory: [9], Size: [6]"
IDS_TEMP_MSIPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_MSIUNPUBLISHASSEMBLIES "Application Context:[1], Assembly Name:[2]"
IDS_TEMP_PATCHFILES "File: [1], Directory: [2], Size: [3]"
IDS_TEMP_PUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_PUBLISHFEATURES "Feature: [1]"
IDS_TEMP_REGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_REGISTERCOMPLUS "AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}"
IDS_TEMP_REGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_REGISTERFONTS "Font: [1]"
IDS_TEMP_REGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_REGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_REGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_REMOVEDUPLICATEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_REMOVEEXISTINGPRODUCTS "Application: [1], Command line: [2]"
IDS_TEMP_REMOVEFILES "File: [1], Directory: [9]"
IDS_TEMP_REMOVEFOLDERS "Folder: [1]"
IDS_TEMP_REMOVEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_REMOVEREGISTRYVALUES "Key: [1], Name: [2]"
IDS_TEMP_REMOVESHORTCUTS "Shortcut: [1]"
IDS_TEMP_SELFREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_SELFUNREGMODULES "File: [1], Folder: [2]"
IDS_TEMP_STARTSERVICES "Service: [1]"
IDS_TEMP_STOPSERVICES "Service: [1]"
IDS_TEMP_UNPUBLISHCOMPONENTS "Component ID: [1], Qualifier: [2]"
IDS_TEMP_UNPUBLISHFEATURES "Feature: [1]"
IDS_TEMP_UNREGISTERCLASSINFO "Class Id: [1]"
IDS_TEMP_UNREGISTERCOMPLUS "AppId: [1]{{, AppType: [2]}}"
IDS_TEMP_UNREGISTEREXTENSIONINFO "Extension: [1]"
IDS_TEMP_UNREGISTERFONTS "Font: [1]"
IDS_TEMP_UNREGISTERMIMEINFO "MIME Content Type: [1], Extension: [2]"
IDS_TEMP_UNREGISTERPROGIDINFO "ProgId: [1]"
IDS_TEMP_UNREGISTERTYPELIBRARIES "LibID: [1]"
IDS_TEMP_WRITEENVIRONMENTSTRINGS "Name: [1], Value: [2], Action [3]"
IDS_TEMP_WRITEINIVALUES "File: [1], Section: [2], Key: [3], Value: [4]"
IDS_TEMP_WRITEREGISTRYVALUES "Key: [1], Name: [2], Value: [3]"
} }
+9 -31
View File
@@ -67,44 +67,22 @@ static BOOL source_matches_volume(MSIMEDIAINFO *mi, LPCWSTR source_root)
static UINT msi_change_media(MSIPACKAGE *package, MSIMEDIAINFO *mi) static UINT msi_change_media(MSIPACKAGE *package, MSIMEDIAINFO *mi)
{ {
LPWSTR error, error_dialog; MSIRECORD *record;
LPWSTR source_dir; LPWSTR source_dir;
UINT r = ERROR_SUCCESS; UINT r = IDRETRY;
static const WCHAR error_prop[] = {'E','r','r','o','r','D','i','a','l','o','g',0};
if ((package->ui_level & INSTALLUILEVEL_MASK) == INSTALLUILEVEL_NONE &&
!gUIHandlerA && !gUIHandlerW && !gUIHandlerRecord) return ERROR_SUCCESS;
error = msi_build_error_string(package, 1302, 1, mi->disk_prompt);
error_dialog = msi_dup_property(package->db, error_prop);
source_dir = msi_dup_property(package->db, szSourceDir); source_dir = msi_dup_property(package->db, szSourceDir);
record = MSI_CreateRecord(2);
while (r == ERROR_SUCCESS && !source_matches_volume(mi, source_dir)) while (r == IDRETRY && !source_matches_volume(mi, source_dir))
{ {
r = msi_spawn_error_dialog(package, error_dialog, error); MSI_RecordSetStringW(record, 0, NULL);
MSI_RecordSetInteger(record, 1, MSIERR_CABNOTFOUND);
if (gUIHandlerW) MSI_RecordSetStringW(record, 2, mi->disk_prompt);
{ r = MSI_ProcessMessage(package, INSTALLMESSAGE_ERROR | MB_RETRYCANCEL, record);
gUIHandlerW(gUIContext, MB_RETRYCANCEL | INSTALLMESSAGE_ERROR, error);
}
else if (gUIHandlerA)
{
char *msg = strdupWtoA(error);
gUIHandlerA(gUIContext, MB_RETRYCANCEL | INSTALLMESSAGE_ERROR, msg);
msi_free(msg);
}
else if (gUIHandlerRecord)
{
MSIHANDLE rec = MsiCreateRecord(1);
MsiRecordSetStringW(rec, 0, error);
gUIHandlerRecord(gUIContext, MB_RETRYCANCEL | INSTALLMESSAGE_ERROR, rec);
MsiCloseHandle(rec);
}
} }
msi_free(error); msiobj_release(&record->hdr);
msi_free(error_dialog);
msi_free(source_dir); msi_free(source_dir);
return r; return r;
+12 -3
View File
@@ -2293,7 +2293,16 @@ INSTALLUILEVEL WINAPI MsiSetInternalUI(INSTALLUILEVEL dwUILevel, HWND *phWnd)
TRACE("%08x %p\n", dwUILevel, phWnd); TRACE("%08x %p\n", dwUILevel, phWnd);
gUILevel = dwUILevel; if (dwUILevel & ~(INSTALLUILEVEL_MASK|INSTALLUILEVEL_HIDECANCEL|INSTALLUILEVEL_PROGRESSONLY|
INSTALLUILEVEL_ENDDIALOG|INSTALLUILEVEL_SOURCERESONLY))
{
FIXME("Unrecognized flags %08x\n", dwUILevel);
return INSTALLUILEVEL_NOCHANGE;
}
if (dwUILevel != INSTALLUILEVEL_NOCHANGE)
gUILevel = dwUILevel;
if (phWnd) if (phWnd)
{ {
gUIhwnd = *phWnd; gUIhwnd = *phWnd;
@@ -4198,8 +4207,8 @@ UINT WINAPI MsiSetExternalUIRecord( INSTALLUI_HANDLER_RECORD handler,
*prev = gUIHandlerRecord; *prev = gUIHandlerRecord;
gUIHandlerRecord = handler; gUIHandlerRecord = handler;
gUIFilter = filter; gUIFilterRecord = filter;
gUIContext = context; gUIContextRecord = context;
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
+3 -40
View File
@@ -20,46 +20,7 @@
#include <windef.h> #include <windef.h>
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT #include "resource.h"
STRINGTABLE
{
4 "The specified installation package could not be opened. Please check the file path and try again."
5 "path %s not found"
9 "insert disk %s"
10 "Windows Installer %s\n\n\
Usage:\n\
msiexec command {required parameter} [optional parameter]\n\n\
Install a product:\n\
\t/i {package|product_code} [property]\n\
\t/package {package|product_code} [property]\n\
\t/a package [property]\n\
Repair an installation:\n\
\t/f[p|o|e|d|c|a|u|m|s|v] {package|product_code}\n\
Uninstall a product:\n\
\t/uninstall {package|product_code} [property]\n\
\t/x {package|product_code} [property]\n\
Advertise a product:\n\
\t/j[u|m] package [/t transform] [/g languageid]\n\
Apply a patch:\n\
\t/p patch_package [property]\n\
\t/p patch_package /a package [property]\n\
Log and user interface modifiers for the above commands:\n\
\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] log_file\n\
\t/q{|n|b|r|f|n+|b+|b-}\n\
Register the MSI Service:\n\
\t/y\n\
Unregister the MSI Service:\n\
\t/z\n\
Display this help:\n\
\t/help\n\
\t/?\n"
11 "enter which folder contains %s"
12 "install source for feature missing"
13 "network drive for feature missing"
14 "feature from:"
15 "choose which folder contains %s"
}
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
@@ -90,3 +51,5 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#define WINE_PRODUCTVERSION_STR "4.5.6001.22308" #define WINE_PRODUCTVERSION_STR "4.5.6001.22308"
#include <wine/wine_common_ver.rc> #include <wine/wine_common_ver.rc>
#include "rsrc.rc"
+3 -1
View File
@@ -27,13 +27,15 @@ WINE_DEFAULT_DEBUG_CHANNEL(msi);
static LONG dll_count; static LONG dll_count;
/* the UI level */ /* the UI level */
INSTALLUILEVEL gUILevel = INSTALLUILEVEL_BASIC; INSTALLUILEVEL gUILevel = INSTALLUILEVEL_DEFAULT;
HWND gUIhwnd = 0; HWND gUIhwnd = 0;
INSTALLUI_HANDLERA gUIHandlerA = NULL; INSTALLUI_HANDLERA gUIHandlerA = NULL;
INSTALLUI_HANDLERW gUIHandlerW = NULL; INSTALLUI_HANDLERW gUIHandlerW = NULL;
INSTALLUI_HANDLER_RECORD gUIHandlerRecord = NULL; INSTALLUI_HANDLER_RECORD gUIHandlerRecord = NULL;
DWORD gUIFilter = 0; DWORD gUIFilter = 0;
DWORD gUIFilterRecord = 0;
LPVOID gUIContext = NULL; LPVOID gUIContext = NULL;
LPVOID gUIContextRecord = NULL;
WCHAR *gszLogFile = NULL; WCHAR *gszLogFile = NULL;
HINSTANCE msi_hInstance; HINSTANCE msi_hInstance;
+11 -5
View File
@@ -52,6 +52,8 @@
#include <wine/list.h> #include <wine/list.h>
#include <wine/unicode.h> #include <wine/unicode.h>
#include "resource.h"
static const BOOL is_64bit = sizeof(void *) > sizeof(int); static const BOOL is_64bit = sizeof(void *) > sizeof(int);
BOOL is_wow64 DECLSPEC_HIDDEN; BOOL is_wow64 DECLSPEC_HIDDEN;
@@ -404,6 +406,8 @@ typedef struct tagMSIPACKAGE
struct list cabinet_streams; struct list cabinet_streams;
LPWSTR ActionFormat; LPWSTR ActionFormat;
LPWSTR LastAction; LPWSTR LastAction;
LPWSTR LastActionTemplate;
UINT LastActionResult;
UINT action_progress_increment; UINT action_progress_increment;
HANDLE log_file; HANDLE log_file;
IAssemblyCache *cache_net[CLR_VERSION_MAX]; IAssemblyCache *cache_net[CLR_VERSION_MAX];
@@ -426,7 +430,6 @@ typedef struct tagMSIPACKAGE
BOOL delete_on_close; BOOL delete_on_close;
INSTALLUILEVEL ui_level; INSTALLUILEVEL ui_level;
UINT CurrentInstallState;
msi_dialog *dialog; msi_dialog *dialog;
LPWSTR next_dialog; LPWSTR next_dialog;
float center_x; float center_x;
@@ -814,7 +817,8 @@ extern void msi_free_patchinfo( MSIPATCHINFO *patch ) DECLSPEC_HIDDEN;
/* action internals */ /* action internals */
extern UINT MSI_InstallPackage( MSIPACKAGE *, LPCWSTR, LPCWSTR ) DECLSPEC_HIDDEN; extern UINT MSI_InstallPackage( MSIPACKAGE *, LPCWSTR, LPCWSTR ) DECLSPEC_HIDDEN;
extern UINT ACTION_DialogBox( MSIPACKAGE*, LPCWSTR) DECLSPEC_HIDDEN; extern INT ACTION_ShowDialog( MSIPACKAGE*, LPCWSTR) DECLSPEC_HIDDEN;
extern INT ACTION_DialogBox( MSIPACKAGE*, LPCWSTR) DECLSPEC_HIDDEN;
extern UINT ACTION_ForceReboot(MSIPACKAGE *package) DECLSPEC_HIDDEN; extern UINT ACTION_ForceReboot(MSIPACKAGE *package) DECLSPEC_HIDDEN;
extern UINT MSI_Sequence( MSIPACKAGE *package, LPCWSTR szTable ) DECLSPEC_HIDDEN; extern UINT MSI_Sequence( MSIPACKAGE *package, LPCWSTR szTable ) DECLSPEC_HIDDEN;
extern UINT MSI_SetFeatureStates( MSIPACKAGE *package ) DECLSPEC_HIDDEN; extern UINT MSI_SetFeatureStates( MSIPACKAGE *package ) DECLSPEC_HIDDEN;
@@ -851,6 +855,7 @@ extern BOOL MSI_RecordsAreEqual( MSIRECORD *, MSIRECORD * ) DECLSPEC_HIDDEN;
extern BOOL MSI_RecordsAreFieldsEqual(MSIRECORD *a, MSIRECORD *b, UINT field) DECLSPEC_HIDDEN; extern BOOL MSI_RecordsAreFieldsEqual(MSIRECORD *a, MSIRECORD *b, UINT field) DECLSPEC_HIDDEN;
extern UINT msi_record_set_string(MSIRECORD *, UINT, const WCHAR *, int) DECLSPEC_HIDDEN; extern UINT msi_record_set_string(MSIRECORD *, UINT, const WCHAR *, int) DECLSPEC_HIDDEN;
extern const WCHAR *msi_record_get_string(const MSIRECORD *, UINT, int *) DECLSPEC_HIDDEN; extern const WCHAR *msi_record_get_string(const MSIRECORD *, UINT, int *) DECLSPEC_HIDDEN;
extern void dump_record(MSIRECORD *) DECLSPEC_HIDDEN;
/* stream internals */ /* stream internals */
extern void enum_stream_names( IStorage *stg ) DECLSPEC_HIDDEN; extern void enum_stream_names( IStorage *stg ) DECLSPEC_HIDDEN;
@@ -883,6 +888,7 @@ extern UINT MSI_SetInstallLevel( MSIPACKAGE *package, int iInstallLevel ) DECLSP
extern MSIPACKAGE *MSI_CreatePackage( MSIDATABASE *, LPCWSTR ) DECLSPEC_HIDDEN; extern MSIPACKAGE *MSI_CreatePackage( MSIDATABASE *, LPCWSTR ) DECLSPEC_HIDDEN;
extern UINT MSI_OpenPackageW( LPCWSTR szPackage, MSIPACKAGE **pPackage ) DECLSPEC_HIDDEN; extern UINT MSI_OpenPackageW( LPCWSTR szPackage, MSIPACKAGE **pPackage ) DECLSPEC_HIDDEN;
extern UINT MSI_SetTargetPathW( MSIPACKAGE *, LPCWSTR, LPCWSTR ) DECLSPEC_HIDDEN; extern UINT MSI_SetTargetPathW( MSIPACKAGE *, LPCWSTR, LPCWSTR ) DECLSPEC_HIDDEN;
extern INT MSI_ProcessMessageVerbatim( MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD * ) DECLSPEC_HIDDEN;
extern INT MSI_ProcessMessage( MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD * ) DECLSPEC_HIDDEN; extern INT MSI_ProcessMessage( MSIPACKAGE *, INSTALLMESSAGE, MSIRECORD * ) DECLSPEC_HIDDEN;
extern MSICONDITION MSI_EvaluateConditionW( MSIPACKAGE *, LPCWSTR ) DECLSPEC_HIDDEN; extern MSICONDITION MSI_EvaluateConditionW( MSIPACKAGE *, LPCWSTR ) DECLSPEC_HIDDEN;
extern UINT MSI_GetComponentStateW( MSIPACKAGE *, LPCWSTR, INSTALLSTATE *, INSTALLSTATE * ) DECLSPEC_HIDDEN; extern UINT MSI_GetComponentStateW( MSIPACKAGE *, LPCWSTR, INSTALLSTATE *, INSTALLSTATE * ) DECLSPEC_HIDDEN;
@@ -961,7 +967,6 @@ extern LONG msi_reg_set_subkey_val( HKEY hkey, LPCWSTR path, LPCWSTR name, LPCWS
extern void msi_dialog_check_messages( HANDLE ) DECLSPEC_HIDDEN; extern void msi_dialog_check_messages( HANDLE ) DECLSPEC_HIDDEN;
extern void msi_dialog_destroy( msi_dialog* ) DECLSPEC_HIDDEN; extern void msi_dialog_destroy( msi_dialog* ) DECLSPEC_HIDDEN;
extern void msi_dialog_unregister_class( void ) DECLSPEC_HIDDEN; extern void msi_dialog_unregister_class( void ) DECLSPEC_HIDDEN;
extern UINT msi_spawn_error_dialog( MSIPACKAGE*, LPWSTR, LPWSTR ) DECLSPEC_HIDDEN;
/* summary information */ /* summary information */
extern UINT msi_get_suminfo( IStorage *stg, UINT uiUpdateCount, MSISUMMARYINFO **si ) DECLSPEC_HIDDEN; extern UINT msi_get_suminfo( IStorage *stg, UINT uiUpdateCount, MSISUMMARYINFO **si ) DECLSPEC_HIDDEN;
@@ -987,7 +992,9 @@ extern INSTALLUI_HANDLERA gUIHandlerA DECLSPEC_HIDDEN;
extern INSTALLUI_HANDLERW gUIHandlerW DECLSPEC_HIDDEN; extern INSTALLUI_HANDLERW gUIHandlerW DECLSPEC_HIDDEN;
extern INSTALLUI_HANDLER_RECORD gUIHandlerRecord DECLSPEC_HIDDEN; extern INSTALLUI_HANDLER_RECORD gUIHandlerRecord DECLSPEC_HIDDEN;
extern DWORD gUIFilter DECLSPEC_HIDDEN; extern DWORD gUIFilter DECLSPEC_HIDDEN;
extern DWORD gUIFilterRecord DECLSPEC_HIDDEN;
extern LPVOID gUIContext DECLSPEC_HIDDEN; extern LPVOID gUIContext DECLSPEC_HIDDEN;
extern LPVOID gUIContextRecord DECLSPEC_HIDDEN;
extern WCHAR *gszLogFile DECLSPEC_HIDDEN; extern WCHAR *gszLogFile DECLSPEC_HIDDEN;
extern HINSTANCE msi_hInstance DECLSPEC_HIDDEN; extern HINSTANCE msi_hInstance DECLSPEC_HIDDEN;
@@ -1047,7 +1054,6 @@ extern WCHAR *msi_create_component_advertise_string(MSIPACKAGE *, MSICOMPONENT *
extern void ACTION_UpdateComponentStates(MSIPACKAGE *package, MSIFEATURE *feature) DECLSPEC_HIDDEN; extern void ACTION_UpdateComponentStates(MSIPACKAGE *package, MSIFEATURE *feature) DECLSPEC_HIDDEN;
extern UINT msi_register_unique_action(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN; extern UINT msi_register_unique_action(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN;
extern BOOL msi_action_is_unique(const MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN; extern BOOL msi_action_is_unique(const MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN;
extern WCHAR *msi_build_error_string(MSIPACKAGE *, UINT, DWORD, ...) DECLSPEC_HIDDEN;
extern UINT msi_set_last_used_source(LPCWSTR product, LPCWSTR usersid, extern UINT msi_set_last_used_source(LPCWSTR product, LPCWSTR usersid,
MSIINSTALLCONTEXT context, DWORD options, LPCWSTR value) DECLSPEC_HIDDEN; MSIINSTALLCONTEXT context, DWORD options, LPCWSTR value) DECLSPEC_HIDDEN;
extern UINT msi_create_empty_local_file(LPWSTR path, LPCWSTR suffix) DECLSPEC_HIDDEN; extern UINT msi_create_empty_local_file(LPWSTR path, LPCWSTR suffix) DECLSPEC_HIDDEN;
@@ -1063,6 +1069,7 @@ extern WCHAR *msi_get_assembly_path(MSIPACKAGE *, const WCHAR *) DECLSPEC_HIDDEN
extern WCHAR *msi_font_version_from_file(const WCHAR *) DECLSPEC_HIDDEN; extern WCHAR *msi_font_version_from_file(const WCHAR *) DECLSPEC_HIDDEN;
extern WCHAR **msi_split_string(const WCHAR *, WCHAR) DECLSPEC_HIDDEN; extern WCHAR **msi_split_string(const WCHAR *, WCHAR) DECLSPEC_HIDDEN;
extern UINT msi_set_original_database_property(MSIDATABASE *, const WCHAR *) DECLSPEC_HIDDEN; extern UINT msi_set_original_database_property(MSIDATABASE *, const WCHAR *) DECLSPEC_HIDDEN;
extern WCHAR *msi_get_error_message(MSIDATABASE *, int) DECLSPEC_HIDDEN;
/* media */ /* media */
@@ -1112,7 +1119,6 @@ extern DWORD call_script(MSIHANDLE hPackage, INT type, LPCWSTR script, LPCWSTR f
/* User interface messages from the actions */ /* User interface messages from the actions */
extern void msi_ui_progress(MSIPACKAGE *, int, int, int, int) DECLSPEC_HIDDEN; extern void msi_ui_progress(MSIPACKAGE *, int, int, int, int) DECLSPEC_HIDDEN;
extern void msi_ui_actiondata(MSIPACKAGE *, const WCHAR *, MSIRECORD *) DECLSPEC_HIDDEN;
/* common strings */ /* common strings */
static const WCHAR szSourceDir[] = {'S','o','u','r','c','e','D','i','r',0}; static const WCHAR szSourceDir[] = {'S','o','u','r','c','e','D','i','r',0};
+374 -135
View File
@@ -305,6 +305,7 @@ static void free_package_structures( MSIPACKAGE *package )
msi_free( package->ProductCode ); msi_free( package->ProductCode );
msi_free( package->ActionFormat ); msi_free( package->ActionFormat );
msi_free( package->LastAction ); msi_free( package->LastAction );
msi_free( package->LastActionTemplate );
msi_free( package->langids ); msi_free( package->langids );
/* cleanup control event subscriptions */ /* cleanup control event subscriptions */
@@ -326,6 +327,7 @@ static void MSI_FreePackage( MSIOBJECTHDR *arg)
if (package->delete_on_close) DeleteFileW( package->localfile ); if (package->delete_on_close) DeleteFileW( package->localfile );
msi_free( package->localfile ); msi_free( package->localfile );
MSI_ProcessMessage(NULL, INSTALLMESSAGE_TERMINATE, 0);
} }
static UINT create_temp_property_table(MSIPACKAGE *package) static UINT create_temp_property_table(MSIPACKAGE *package)
@@ -646,7 +648,6 @@ static VOID set_installer_properties(MSIPACKAGE *package)
HKEY hkey; HKEY hkey;
LPWSTR username, companyname; LPWSTR username, companyname;
SYSTEM_INFO sys_info; SYSTEM_INFO sys_info;
SYSTEMTIME systemtime;
LANGID langid; LANGID langid;
static const WCHAR szCommonFilesFolder[] = {'C','o','m','m','o','n','F','i','l','e','s','F','o','l','d','e','r',0}; static const WCHAR szCommonFilesFolder[] = {'C','o','m','m','o','n','F','i','l','e','s','F','o','l','d','e','r',0};
@@ -708,8 +709,6 @@ static VOID set_installer_properties(MSIPACKAGE *package)
}; };
static const WCHAR szUSERNAME[] = {'U','S','E','R','N','A','M','E',0}; static const WCHAR szUSERNAME[] = {'U','S','E','R','N','A','M','E',0};
static const WCHAR szCOMPANYNAME[] = {'C','O','M','P','A','N','Y','N','A','M','E',0}; static const WCHAR szCOMPANYNAME[] = {'C','O','M','P','A','N','Y','N','A','M','E',0};
static const WCHAR szDate[] = {'D','a','t','e',0};
static const WCHAR szTime[] = {'T','i','m','e',0};
static const WCHAR szUserLanguageID[] = {'U','s','e','r','L','a','n','g','u','a','g','e','I','D',0}; static const WCHAR szUserLanguageID[] = {'U','s','e','r','L','a','n','g','u','a','g','e','I','D',0};
static const WCHAR szSystemLangID[] = {'S','y','s','t','e','m','L','a','n','g','u','a','g','e','I','D',0}; static const WCHAR szSystemLangID[] = {'S','y','s','t','e','m','L','a','n','g','u','a','g','e','I','D',0};
static const WCHAR szProductState[] = {'P','r','o','d','u','c','t','S','t','a','t','e',0}; static const WCHAR szProductState[] = {'P','r','o','d','u','c','t','S','t','a','t','e',0};
@@ -718,8 +717,6 @@ static VOID set_installer_properties(MSIPACKAGE *package)
static const WCHAR szPrintHoodFolder[] = {'P','r','i','n','t','H','o','o','d','F','o','l','d','e','r',0}; static const WCHAR szPrintHoodFolder[] = {'P','r','i','n','t','H','o','o','d','F','o','l','d','e','r',0};
static const WCHAR szRecentFolder[] = {'R','e','c','e','n','t','F','o','l','d','e','r',0}; static const WCHAR szRecentFolder[] = {'R','e','c','e','n','t','F','o','l','d','e','r',0};
static const WCHAR szComputerName[] = {'C','o','m','p','u','t','e','r','N','a','m','e',0}; static const WCHAR szComputerName[] = {'C','o','m','p','u','t','e','r','N','a','m','e',0};
static const WCHAR szBrowseProperty[] = {'_','B','r','o','w','s','e','P','r','o','p','e','r','t','y',0};
static const WCHAR szInstallDir[] = {'I','N','S','T','A','L','L','D','I','R',0};
/* /*
* Other things that probably should be set: * Other things that probably should be set:
@@ -940,22 +937,6 @@ static VOID set_installer_properties(MSIPACKAGE *package)
if ( set_user_sid_prop( package ) != ERROR_SUCCESS) if ( set_user_sid_prop( package ) != ERROR_SUCCESS)
ERR("Failed to set the UserSID property\n"); ERR("Failed to set the UserSID property\n");
/* Date and time properties */
GetSystemTime( &systemtime );
if (GetDateFormatW( LOCALE_USER_DEFAULT, DATE_SHORTDATE, &systemtime,
NULL, bufstr, sizeof(bufstr)/sizeof(bufstr[0]) ))
msi_set_property( package->db, szDate, bufstr, -1 );
else
ERR("Couldn't set Date property: GetDateFormat failed with error %d\n", GetLastError());
if (GetTimeFormatW( LOCALE_USER_DEFAULT,
TIME_FORCE24HOURFORMAT | TIME_NOTIMEMARKER,
&systemtime, NULL, bufstr,
sizeof(bufstr)/sizeof(bufstr[0]) ))
msi_set_property( package->db, szTime, bufstr, -1 );
else
ERR("Couldn't set Time property: GetTimeFormat failed with error %d\n", GetLastError());
set_msi_assembly_prop( package ); set_msi_assembly_prop( package );
langid = GetUserDefaultLangID(); langid = GetUserDefaultLangID();
@@ -991,7 +972,6 @@ static VOID set_installer_properties(MSIPACKAGE *package)
msi_free( computername ); msi_free( computername );
} }
} }
msi_set_property( package->db, szBrowseProperty, szInstallDir, -1 );
} }
static MSIPACKAGE *msi_alloc_package( void ) static MSIPACKAGE *msi_alloc_package( void )
@@ -1069,6 +1049,9 @@ MSIPACKAGE *MSI_CreatePackage( MSIDATABASE *db, LPCWSTR base_url )
msiobj_addref( &db->hdr ); msiobj_addref( &db->hdr );
package->db = db; package->db = db;
package->LastAction = NULL;
package->LastActionTemplate = NULL;
package->LastActionResult = MSI_NULL_INTEGER;
package->WordCount = 0; package->WordCount = 0;
package->PackagePath = strdupW( db->path ); package->PackagePath = strdupW( db->path );
package->BaseURL = strdupW( base_url ); package->BaseURL = strdupW( base_url );
@@ -1441,6 +1424,7 @@ UINT MSI_OpenPackageW(LPCWSTR szPackage, MSIPACKAGE **pPackage)
MSIDATABASE *db; MSIDATABASE *db;
MSIPACKAGE *package; MSIPACKAGE *package;
MSIHANDLE handle; MSIHANDLE handle;
MSIRECORD *data_row, *info_row;
LPWSTR ptr, base_url = NULL; LPWSTR ptr, base_url = NULL;
UINT r; UINT r;
WCHAR localfile[MAX_PATH], cachefile[MAX_PATH]; WCHAR localfile[MAX_PATH], cachefile[MAX_PATH];
@@ -1448,9 +1432,13 @@ UINT MSI_OpenPackageW(LPCWSTR szPackage, MSIPACKAGE **pPackage)
DWORD index = 0; DWORD index = 0;
MSISUMMARYINFO *si; MSISUMMARYINFO *si;
BOOL delete_on_close = FALSE; BOOL delete_on_close = FALSE;
LPWSTR productname;
WCHAR *info_template;
TRACE("%s %p\n", debugstr_w(szPackage), pPackage); TRACE("%s %p\n", debugstr_w(szPackage), pPackage);
MSI_ProcessMessage(NULL, INSTALLMESSAGE_INITIALIZE, 0);
localfile[0] = 0; localfile[0] = 0;
if( szPackage[0] == '#' ) if( szPackage[0] == '#' )
{ {
@@ -1581,6 +1569,40 @@ UINT MSI_OpenPackageW(LPCWSTR szPackage, MSIPACKAGE **pPackage)
if (gszLogFile) if (gszLogFile)
package->log_file = CreateFileW( gszLogFile, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, package->log_file = CreateFileW( gszLogFile, GENERIC_WRITE, FILE_SHARE_WRITE, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
/* FIXME: when should these messages be sent? */
data_row = MSI_CreateRecord(3);
if (!data_row)
return ERROR_OUTOFMEMORY;
MSI_RecordSetStringW(data_row, 0, NULL);
MSI_RecordSetInteger(data_row, 1, 0);
MSI_RecordSetInteger(data_row, 2, package->num_langids ? package->langids[0] : 0);
MSI_RecordSetInteger(data_row, 3, msi_get_string_table_codepage(package->db->strings));
MSI_ProcessMessageVerbatim(package, INSTALLMESSAGE_COMMONDATA, data_row);
info_row = MSI_CreateRecord(0);
if (!info_row)
{
msiobj_release(&data_row->hdr);
return ERROR_OUTOFMEMORY;
}
info_template = msi_get_error_message(package->db, MSIERR_INFO_LOGGINGSTART);
MSI_RecordSetStringW(info_row, 0, info_template);
msi_free(info_template);
MSI_ProcessMessage(package, INSTALLMESSAGE_INFO|MB_ICONHAND, info_row);
MSI_ProcessMessage(package, INSTALLMESSAGE_COMMONDATA, data_row);
productname = msi_dup_property(package->db, INSTALLPROPERTY_PRODUCTNAMEW);
MSI_RecordSetInteger(data_row, 1, 1);
MSI_RecordSetStringW(data_row, 2, productname);
MSI_RecordSetStringW(data_row, 3, NULL);
MSI_ProcessMessage(package, INSTALLMESSAGE_COMMONDATA, data_row);
msi_free(productname);
msiobj_release(&info_row->hdr);
msiobj_release(&data_row->hdr);
*pPackage = package; *pPackage = package;
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
@@ -1612,6 +1634,8 @@ UINT WINAPI MsiOpenPackageExW(LPCWSTR szPackage, DWORD dwOptions, MSIHANDLE *phP
ret = ERROR_NOT_ENOUGH_MEMORY; ret = ERROR_NOT_ENOUGH_MEMORY;
msiobj_release( &package->hdr ); msiobj_release( &package->hdr );
} }
else
MSI_ProcessMessage(NULL, INSTALLMESSAGE_TERMINATE, 0);
return ret; return ret;
} }
@@ -1678,18 +1702,169 @@ MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE hInstall)
return handle; return handle;
} }
INT MSI_ProcessMessage( MSIPACKAGE *package, INSTALLMESSAGE eMessageType, MSIRECORD *record ) static INT internal_ui_handler(MSIPACKAGE *package, INSTALLMESSAGE eMessageType, MSIRECORD *record, LPCWSTR message)
{ {
static const WCHAR szActionData[] = {'A','c','t','i','o','n','D','a','t','a',0}; static const WCHAR szActionData[] = {'A','c','t','i','o','n','D','a','t','a',0};
static const WCHAR szSetProgress[] = {'S','e','t','P','r','o','g','r','e','s','s',0};
static const WCHAR szActionText[] = {'A','c','t','i','o','n','T','e','x','t',0}; static const WCHAR szActionText[] = {'A','c','t','i','o','n','T','e','x','t',0};
MSIRECORD *uirow; static const WCHAR szSetProgress[] = {'S','e','t','P','r','o','g','r','e','s','s',0};
LPWSTR deformated, message; static const WCHAR szWindows_Installer[] =
DWORD i, len, total_len, log_type = 0; {'W','i','n','d','o','w','s',' ','I','n','s','t','a','l','l','e','r',0};
if (!package || (package->ui_level & INSTALLUILEVEL_MASK) == INSTALLUILEVEL_NONE)
return 0;
/* todo: check if message needs additional styles (topmost/foreground/modality?) */
switch (eMessageType & 0xff000000)
{
case INSTALLMESSAGE_FATALEXIT:
case INSTALLMESSAGE_ERROR:
case INSTALLMESSAGE_OUTOFDISKSPACE:
if (package->ui_level & INSTALLUILEVEL_PROGRESSONLY) return 0;
if (!(eMessageType & MB_ICONMASK))
eMessageType |= MB_ICONEXCLAMATION;
return MessageBoxW(gUIhwnd, message, szWindows_Installer, eMessageType & 0x00ffffff);
case INSTALLMESSAGE_WARNING:
if (package->ui_level & INSTALLUILEVEL_PROGRESSONLY) return 0;
if (!(eMessageType & MB_ICONMASK))
eMessageType |= MB_ICONASTERISK;
return MessageBoxW(gUIhwnd, message, szWindows_Installer, eMessageType & 0x00ffffff);
case INSTALLMESSAGE_USER:
if (package->ui_level & INSTALLUILEVEL_PROGRESSONLY) return 0;
if (!(eMessageType & MB_ICONMASK))
eMessageType |= MB_USERICON;
return MessageBoxW(gUIhwnd, message, szWindows_Installer, eMessageType & 0x00ffffff);
case INSTALLMESSAGE_INFO:
case INSTALLMESSAGE_INITIALIZE:
case INSTALLMESSAGE_TERMINATE:
return 0;
case INSTALLMESSAGE_SHOWDIALOG:
{
LPWSTR dialog = msi_dup_record_field(record, 0);
INT rc = ACTION_DialogBox(package, dialog);
msi_free(dialog);
return rc;
}
case INSTALLMESSAGE_ACTIONSTART:
{
LPWSTR deformatted;
MSIRECORD *uirow = MSI_CreateRecord(1);
if (!uirow) return -1;
deformat_string(package, MSI_RecordGetString(record, 2), &deformatted);
MSI_RecordSetStringW(uirow, 1, deformatted);
msi_event_fire(package, szActionText, uirow);
msi_free(deformatted);
msiobj_release(&uirow->hdr);
return 1;
}
case INSTALLMESSAGE_ACTIONDATA:
{
MSIRECORD *uirow = MSI_CreateRecord(1);
if (!uirow) return -1;
MSI_RecordSetStringW(uirow, 1, message);
msi_event_fire(package, szActionData, uirow);
msiobj_release(&uirow->hdr);
if (package->action_progress_increment)
{
uirow = MSI_CreateRecord(2);
if (!uirow) return -1;
MSI_RecordSetInteger(uirow, 1, 2);
MSI_RecordSetInteger(uirow, 2, package->action_progress_increment);
msi_event_fire(package, szSetProgress, uirow);
msiobj_release(&uirow->hdr);
}
return 1;
}
case INSTALLMESSAGE_PROGRESS:
msi_event_fire(package, szSetProgress, record);
return 1;
case INSTALLMESSAGE_COMMONDATA:
switch (MSI_RecordGetInteger(record, 1))
{
case 0:
case 1:
/* do nothing */
return 0;
default:
/* fall through */
;
}
default:
FIXME("internal UI not implemented for message 0x%08x (UI level = %x)\n", eMessageType, package->ui_level);
return 0;
}
}
static const WCHAR szActionNotFound[] = {'D','E','B','U','G',':',' ','E','r','r','o','r',' ','[','1',']',':',' ',' ','A','c','t','i','o','n',' ','n','o','t',' ','f','o','u','n','d',':',' ','[','2',']',0};
static const struct
{
int id;
const WCHAR *text;
}
internal_errors[] =
{
{2726, szActionNotFound},
{0}
};
static LPCWSTR get_internal_error_message(int error)
{
int i = 0;
while (internal_errors[i].id != 0)
{
if (internal_errors[i].id == error)
return internal_errors[i].text;
i++;
}
FIXME("missing error message %d\n", error);
return NULL;
}
/* Returned string must be freed */
LPWSTR msi_get_error_message(MSIDATABASE *db, int error)
{
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 *record;
LPWSTR ret = NULL;
if ((record = MSI_QueryGetRecord(db, query, error)))
{
ret = msi_dup_record_field(record, 1);
msiobj_release(&record->hdr);
}
else if (error < 2000)
{
int len = LoadStringW(msi_hInstance, IDS_ERROR_BASE + error, (LPWSTR) &ret, 0);
if (len)
{
ret = msi_alloc((len + 1) * sizeof(WCHAR));
LoadStringW(msi_hInstance, IDS_ERROR_BASE + error, ret, len + 1);
}
else
ret = NULL;
}
return ret;
}
INT MSI_ProcessMessageVerbatim(MSIPACKAGE *package, INSTALLMESSAGE eMessageType, MSIRECORD *record)
{
LPWSTR message = {0};
DWORD len, log_type = 0;
UINT res;
INT rc = 0; INT rc = 0;
char *msg; char *msg;
TRACE("%x\n", eMessageType); TRACE("%x\n", eMessageType);
if (TRACE_ON(msi)) dump_record(record);
if ((eMessageType & 0xff000000) == INSTALLMESSAGE_FATALEXIT) if ((eMessageType & 0xff000000) == INSTALLMESSAGE_FATALEXIT)
log_type |= INSTALLLOGMODE_FATALEXIT; log_type |= INSTALLLOGMODE_FATALEXIT;
@@ -1720,97 +1895,48 @@ INT MSI_ProcessMessage( MSIPACKAGE *package, INSTALLMESSAGE eMessageType, MSIREC
if ((eMessageType & 0xff000000) == INSTALLMESSAGE_SHOWDIALOG) if ((eMessageType & 0xff000000) == INSTALLMESSAGE_SHOWDIALOG)
log_type |= INSTALLLOGMODE_SHOWDIALOG; log_type |= INSTALLLOGMODE_SHOWDIALOG;
if ((eMessageType & 0xff000000) == INSTALLMESSAGE_ACTIONSTART) if (!package || !record)
{ message = NULL;
static const WCHAR template_s[]= else {
{'A','c','t','i','o','n',' ','%','s',':',' ','%','s','.',' ',0}; res = MSI_FormatRecordW(package, record, message, &len);
static const WCHAR format[] = if (res != ERROR_SUCCESS && res != ERROR_MORE_DATA)
{'H','H','\'',':','\'','m','m','\'',':','\'','s','s',0}; return res;
WCHAR timet[0x100]; len++;
LPCWSTR action_text, action; message = msi_alloc(len * sizeof(WCHAR));
LPWSTR deformatted = NULL; if (!message) return ERROR_OUTOFMEMORY;
MSI_FormatRecordW(package, record, message, &len);
GetTimeFormatW(LOCALE_USER_DEFAULT, 0, NULL, format, timet, 0x100);
action = MSI_RecordGetString(record, 1);
action_text = MSI_RecordGetString(record, 2);
if (!action || !action_text)
return IDOK;
deformat_string(package, action_text, &deformatted);
len = strlenW(timet) + strlenW(action) + strlenW(template_s);
if (deformatted)
len += strlenW(deformatted);
message = msi_alloc(len*sizeof(WCHAR));
sprintfW(message, template_s, timet, action);
if (deformatted)
strcatW(message, deformatted);
msi_free(deformatted);
} }
else
{
static const WCHAR format[] = {'%','u',':',' ',0};
UINT count = MSI_RecordGetFieldCount( record );
WCHAR *p;
total_len = 1;
for (i = 1; i <= count; i++)
{
len = 0;
MSI_RecordGetStringW( record, i, NULL, &len );
total_len += len + 13;
}
p = message = msi_alloc( total_len * sizeof(WCHAR) );
if (!p) return ERROR_OUTOFMEMORY;
for (i = 1; i <= count; i++)
{
if (count > 1)
{
len = sprintfW( p, format, i );
total_len -= len;
p += len;
}
len = total_len;
MSI_RecordGetStringW( record, i, p, &len );
total_len -= len;
p += len;
if (count > 1 && total_len)
{
*p++ = ' ';
total_len--;
}
}
p[0] = 0;
}
TRACE("%p %p %p %x %x %s\n", gUIHandlerA, gUIHandlerW, gUIHandlerRecord,
gUIFilter, log_type, debugstr_w(message));
/* convert it to ASCII */ /* convert it to ASCII */
len = WideCharToMultiByte( CP_ACP, 0, message, -1, NULL, 0, NULL, NULL ); len = WideCharToMultiByte( CP_ACP, 0, message, -1, NULL, 0, NULL, NULL );
msg = msi_alloc( len ); msg = msi_alloc( len );
WideCharToMultiByte( CP_ACP, 0, message, -1, msg, len, NULL, NULL ); WideCharToMultiByte( CP_ACP, 0, message, -1, msg, len, NULL, NULL );
if (gUIHandlerW && (gUIFilter & log_type)) if (gUIHandlerRecord && (gUIFilterRecord & log_type))
{ {
rc = gUIHandlerW( gUIContext, eMessageType, message ); MSIHANDLE rec = alloc_msihandle(&record->hdr);
} TRACE("Calling UI handler %p(pvContext=%p, iMessageType=%08x, hRecord=%u)\n",
else if (gUIHandlerA && (gUIFilter & log_type)) gUIHandlerRecord, gUIContextRecord, eMessageType, rec);
{ rc = gUIHandlerRecord( gUIContextRecord, eMessageType, rec );
rc = gUIHandlerA( gUIContext, eMessageType, msg );
}
else if (gUIHandlerRecord && (gUIFilter & log_type))
{
MSIHANDLE rec = MsiCreateRecord( 1 );
MsiRecordSetStringW( rec, 0, message );
rc = gUIHandlerRecord( gUIContext, eMessageType, rec );
MsiCloseHandle( rec ); MsiCloseHandle( rec );
} }
if (!rc && gUIHandlerW && (gUIFilter & log_type))
{
TRACE("Calling UI handler %p(pvContext=%p, iMessageType=%08x, szMessage=%s)\n",
gUIHandlerW, gUIContext, eMessageType, debugstr_w(message));
rc = gUIHandlerW( gUIContext, eMessageType, message );
}
else if (!rc && gUIHandlerA && (gUIFilter & log_type))
{
TRACE("Calling UI handler %p(pvContext=%p, iMessageType=%08x, szMessage=%s)\n",
gUIHandlerA, gUIContext, eMessageType, debugstr_a(msg));
rc = gUIHandlerA( gUIContext, eMessageType, msg );
}
if (!rc && package->log_file != INVALID_HANDLE_VALUE && if (!rc)
rc = internal_ui_handler(package, eMessageType, record, message);
if (!rc && package && package->log_file != INVALID_HANDLE_VALUE &&
(eMessageType & 0xff000000) != INSTALLMESSAGE_PROGRESS) (eMessageType & 0xff000000) != INSTALLMESSAGE_PROGRESS)
{ {
DWORD written; DWORD written;
@@ -1820,44 +1946,113 @@ INT MSI_ProcessMessage( MSIPACKAGE *package, INSTALLMESSAGE eMessageType, MSIREC
msi_free( msg ); msi_free( msg );
msi_free( message ); msi_free( message );
return rc;
}
INT MSI_ProcessMessage( MSIPACKAGE *package, INSTALLMESSAGE eMessageType, MSIRECORD *record )
{
switch (eMessageType & 0xff000000) switch (eMessageType & 0xff000000)
{ {
case INSTALLMESSAGE_ACTIONDATA: case INSTALLMESSAGE_FATALEXIT:
deformat_string(package, MSI_RecordGetString(record, 2), &deformated); case INSTALLMESSAGE_ERROR:
uirow = MSI_CreateRecord(1); case INSTALLMESSAGE_WARNING:
MSI_RecordSetStringW(uirow, 1, deformated); case INSTALLMESSAGE_USER:
msi_free(deformated); case INSTALLMESSAGE_INFO:
case INSTALLMESSAGE_OUTOFDISKSPACE:
msi_event_fire( package, szActionData, uirow ); if (MSI_RecordGetInteger(record, 1) != MSI_NULL_INTEGER)
msiobj_release(&uirow->hdr);
if (package->action_progress_increment)
{ {
uirow = MSI_CreateRecord(2); /* error message */
MSI_RecordSetInteger(uirow, 1, 2);
MSI_RecordSetInteger(uirow, 2, package->action_progress_increment); LPWSTR template;
msi_event_fire( package, szSetProgress, uirow ); LPWSTR template_rec = NULL, template_prefix = NULL;
msiobj_release(&uirow->hdr); int error = MSI_RecordGetInteger(record, 1);
if (MSI_RecordIsNull(record, 0))
{
if (error >= 32)
{
template_rec = msi_get_error_message(package->db, error);
if (!template_rec && error >= 2000)
{
/* internal error, not localized */
if ((template_rec = (LPWSTR) get_internal_error_message(error)))
{
MSI_RecordSetStringW(record, 0, template_rec);
MSI_ProcessMessageVerbatim(package, INSTALLMESSAGE_INFO, record);
}
template_rec = msi_get_error_message(package->db, MSIERR_INSTALLERROR);
MSI_RecordSetStringW(record, 0, template_rec);
MSI_ProcessMessageVerbatim(package, eMessageType, record);
msi_free(template_rec);
return 0;
}
}
}
else
template_rec = msi_dup_record_field(record, 0);
template_prefix = msi_get_error_message(package->db, eMessageType >> 24);
if (!template_prefix) template_prefix = strdupW(szEmpty);
if (!template_rec)
{
/* always returns 0 */
MSI_RecordSetStringW(record, 0, template_prefix);
MSI_ProcessMessageVerbatim(package, eMessageType, record);
msi_free(template_prefix);
return 0;
}
template = msi_alloc((strlenW(template_rec) + strlenW(template_prefix) + 1) * sizeof(WCHAR));
if (!template) return ERROR_OUTOFMEMORY;
strcpyW(template, template_prefix);
strcatW(template, template_rec);
MSI_RecordSetStringW(record, 0, template);
msi_free(template_prefix);
msi_free(template_rec);
msi_free(template);
} }
break; break;
case INSTALLMESSAGE_ACTIONSTART: case INSTALLMESSAGE_ACTIONSTART:
deformat_string(package, MSI_RecordGetString(record, 2), &deformated); {
uirow = MSI_CreateRecord(1); WCHAR *template = msi_get_error_message(package->db, MSIERR_ACTIONSTART);
MSI_RecordSetStringW(uirow, 1, deformated); MSI_RecordSetStringW(record, 0, template);
msi_free(deformated); msi_free(template);
msi_event_fire( package, szActionText, uirow ); msi_free(package->LastAction);
msi_free(package->LastActionTemplate);
msiobj_release(&uirow->hdr); package->LastAction = msi_dup_record_field(record, 1);
break; if (!package->LastAction) package->LastAction = strdupW(szEmpty);
package->LastActionTemplate = msi_dup_record_field(record, 3);
case INSTALLMESSAGE_PROGRESS:
msi_event_fire( package, szSetProgress, record );
break; break;
} }
case INSTALLMESSAGE_ACTIONDATA:
if (package->LastAction && package->LastActionTemplate)
{
static const WCHAR template_s[] =
{'{','{','%','s',':',' ','}','}','%','s',0};
WCHAR *template;
return ERROR_SUCCESS; template = msi_alloc((strlenW(package->LastAction) + strlenW(package->LastActionTemplate) + 7) * sizeof(WCHAR));
if (!template) return ERROR_OUTOFMEMORY;
sprintfW(template, template_s, package->LastAction, package->LastActionTemplate);
MSI_RecordSetStringW(record, 0, template);
msi_free(template);
}
break;
case INSTALLMESSAGE_COMMONDATA:
{
WCHAR *template = msi_get_error_message(package->db, MSIERR_COMMONDATA);
MSI_RecordSetStringW(record, 0, template);
msi_free(template);
}
break;
}
return MSI_ProcessMessageVerbatim(package, eMessageType, record);
} }
INT WINAPI MsiProcessMessage( MSIHANDLE hInstall, INSTALLMESSAGE eMessageType, INT WINAPI MsiProcessMessage( MSIHANDLE hInstall, INSTALLMESSAGE eMessageType,
@@ -1867,6 +2062,14 @@ INT WINAPI MsiProcessMessage( MSIHANDLE hInstall, INSTALLMESSAGE eMessageType,
MSIPACKAGE *package = NULL; MSIPACKAGE *package = NULL;
MSIRECORD *record = NULL; MSIRECORD *record = NULL;
if ((eMessageType & 0xff000000) == INSTALLMESSAGE_INITIALIZE ||
(eMessageType & 0xff000000) == INSTALLMESSAGE_TERMINATE)
return -1;
if ((eMessageType & 0xff000000) == INSTALLMESSAGE_COMMONDATA &&
MsiRecordGetInteger(hRecord, 1) != 2)
return -1;
package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE ); package = msihandle2msiinfo( hInstall, MSIHANDLETYPE_PACKAGE );
if( !package ) if( !package )
{ {
@@ -2072,9 +2275,45 @@ static MSIRECORD *msi_get_property_row( MSIDATABASE *db, LPCWSTR name )
MSIQUERY *view; MSIQUERY *view;
UINT r; UINT r;
static const WCHAR szDate[] = {'D','a','t','e',0};
static const WCHAR szTime[] = {'T','i','m','e',0};
WCHAR *buffer;
int length;
if (!name || !*name) if (!name || !*name)
return NULL; return NULL;
if (!strcmpW(name, szDate))
{
length = GetDateFormatW(LOCALE_USER_DEFAULT, DATE_SHORTDATE, NULL, NULL, NULL, 0);
if (!length)
return NULL;
buffer = msi_alloc(length * sizeof(WCHAR));
GetDateFormatW(LOCALE_USER_DEFAULT, DATE_SHORTDATE, NULL, NULL, buffer, sizeof(WCHAR));
row = MSI_CreateRecord(1);
if (!row)
return NULL;
MSI_RecordSetStringW(row, 1, buffer);
msi_free(buffer);
return row;
}
else if (!strcmpW(name, szTime))
{
length = GetTimeFormatW(LOCALE_USER_DEFAULT, TIME_NOTIMEMARKER, NULL, NULL, NULL, 0);
if (!length)
return NULL;
buffer = msi_alloc(length * sizeof(WCHAR));
GetTimeFormatW(LOCALE_USER_DEFAULT, TIME_NOTIMEMARKER, NULL, NULL, buffer, sizeof(WCHAR));
row = MSI_CreateRecord(1);
if (!row)
return NULL;
MSI_RecordSetStringW(row, 1, buffer);
msi_free(buffer);
return row;
}
rec = MSI_CreateRecord(1); rec = MSI_CreateRecord(1);
if (!rec) if (!rec)
return NULL; return NULL;
+36 -2
View File
@@ -313,8 +313,17 @@ UINT MSI_RecordSetInteger( MSIRECORD *rec, UINT iField, int iVal )
return ERROR_INVALID_PARAMETER; return ERROR_INVALID_PARAMETER;
MSI_FreeField( &rec->fields[iField] ); MSI_FreeField( &rec->fields[iField] );
rec->fields[iField].type = MSIFIELD_INT;
rec->fields[iField].u.iVal = iVal; if (iVal == MSI_NULL_INTEGER)
{
rec->fields[iField].type = MSIFIELD_NULL;
rec->fields[iField].u.szwVal = NULL;
}
else
{
rec->fields[iField].type = MSIFIELD_INT;
rec->fields[iField].u.iVal = iVal;
}
return ERROR_SUCCESS; return ERROR_SUCCESS;
} }
@@ -1048,3 +1057,28 @@ WCHAR *msi_dup_record_field( MSIRECORD *rec, INT field )
} }
return str; return str;
} }
void dump_record(MSIRECORD *rec)
{
int i;
if (!rec)
{
TRACE("(null)\n");
return;
}
TRACE("[");
for (i = 0; i <= rec->count; i++)
{
switch(rec->fields[i].type)
{
case MSIFIELD_NULL: TRACE("(null)"); break;
case MSIFIELD_INT: TRACE("%d", rec->fields[i].u.iVal); break;
case MSIFIELD_WSTR: TRACE("%s", debugstr_w(rec->fields[i].u.szwVal)); break;
case MSIFIELD_INTPTR: TRACE("%ld", rec->fields[i].u.pVal); break;
case MSIFIELD_STREAM: TRACE("%p", rec->fields[i].u.stream); break;
}
if (i < rec->count) TRACE(", ");
}
TRACE("]\n");
}
+161
View File
@@ -0,0 +1,161 @@
/*
* Copyright 2017 Zebediah Figura
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define MSIERR_INSTALLERROR 5
#define MSIERR_ACTIONSTART 8
#define MSIERR_COMMONDATA 11
#define MSIERR_INFO_LOGGINGSTART 12
#define MSIERR_INFO_ACTIONSTART 14
#define MSIERR_INFO_ACTIONENDED 15
#define MSIERR_INSERTDISK 1302
#define MSIERR_CABNOTFOUND 1311
#define IDS_ERROR_BASE 10000
#define IDS_FATALEXIT (IDS_ERROR_BASE)
#define IDS_ERROR (IDS_ERROR_BASE + 1)
#define IDS_WARNING (IDS_ERROR_BASE + 2)
#define IDS_INFO (IDS_ERROR_BASE + 4)
#define IDS_INSTALLERROR (IDS_ERROR_BASE + MSIERR_INSTALLERROR)
#define IDS_OUTOFDISKSPACE (IDS_ERROR_BASE + 7)
#define IDS_ACTIONSTART (IDS_ERROR_BASE + MSIERR_ACTIONSTART)
#define IDS_COMMONDATA (IDS_ERROR_BASE + MSIERR_COMMONDATA)
#define IDS_INFO_LOGGINGSTART (IDS_ERROR_BASE + MSIERR_INFO_LOGGINGSTART)
#define IDS_INFO_ACTIONSTART (IDS_ERROR_BASE + MSIERR_INFO_ACTIONSTART)
#define IDS_INFO_ACTIONENDED (IDS_ERROR_BASE + MSIERR_INFO_ACTIONENDED)
#define IDS_ERR_INSERTDISK (IDS_ERROR_BASE + MSIERR_INSERTDISK)
#define IDS_ERR_CABNOTFOUND (IDS_ERROR_BASE + MSIERR_CABNOTFOUND)
#define IDS_DESC_ALLOCATEREGISTRYSPACE 1100
#define IDS_DESC_APPSEARCH 1101
#define IDS_DESC_BINDIMAGE 1102
#define IDS_DESC_CCPSEARCH 1103
#define IDS_DESC_COSTFINALIZE 1104
#define IDS_DESC_COSTINITIALIZE 1105
#define IDS_DESC_CREATEFOLDERS 1106
#define IDS_DESC_CREATESHORTCUTS 1107
#define IDS_DESC_DELETESERVICES 1108
#define IDS_DESC_DUPLICATEFILES 1109
#define IDS_DESC_FILECOST 1110
#define IDS_DESC_FINDRELATEDPRODUCTS 1111
#define IDS_DESC_INSTALLADMINPACKAGE 1112
#define IDS_DESC_INSTALLFILES 1113
#define IDS_DESC_INSTALLODBC 1114
#define IDS_DESC_INSTALLSERVICES 1115
#define IDS_DESC_INSTALLSFPCATALOGFILE 1116
#define IDS_DESC_INSTALLVALIDATE 1117
#define IDS_DESC_LAUNCHCONDITIONS 1118
#define IDS_DESC_MIGRATEFEATURESTATES 1119
#define IDS_DESC_MOVEFILES 1120
#define IDS_DESC_MSIPUBLISHASSEMBLIES 1121
#define IDS_DESC_MSIUNPUBLISHASSEMBLIES 1122
#define IDS_DESC_PATCHFILES 1123
#define IDS_DESC_PROCESSCOMPONENTS 1124
#define IDS_DESC_PUBLISHCOMPONENTS 1125
#define IDS_DESC_PUBLISHFEATURES 1126
#define IDS_DESC_PUBLISHPRODUCT 1127
#define IDS_DESC_REGISTERCLASSINFO 1128
#define IDS_DESC_REGISTERCOMPLUS 1129
#define IDS_DESC_REGISTEREXTENSIONINFO 1130
#define IDS_DESC_REGISTERFONTS 1131
#define IDS_DESC_REGISTERMIMEINFO 1132
#define IDS_DESC_REGISTERPRODUCT 1133
#define IDS_DESC_REGISTERPROGIDINFO 1134
#define IDS_DESC_REGISTERTYPELIBRARIES 1135
#define IDS_DESC_REGISTERUSER 1136
#define IDS_DESC_REMOVEDUPLICATEFILES 1137
#define IDS_DESC_REMOVEENVIRONMENTSTRINGS 1138
#define IDS_DESC_REMOVEEXISTINGPRODUCTS 1139
#define IDS_DESC_REMOVEFILES 1140
#define IDS_DESC_REMOVEFOLDERS 1141
#define IDS_DESC_REMOVEINIVALUES 1142
#define IDS_DESC_REMOVEODBC 1143
#define IDS_DESC_REMOVEREGISTRYVALUES 1144
#define IDS_DESC_REMOVESHORTCUTS 1145
#define IDS_DESC_RMCCPSEARCH 1146
#define IDS_DESC_SELFREGMODULES 1147
#define IDS_DESC_SELFUNREGMODULES 1148
#define IDS_DESC_SETODBCFOLDERS 1149
#define IDS_DESC_STARTSERVICES 1150
#define IDS_DESC_STOPSERVICES 1151
#define IDS_DESC_UNPUBLISHCOMPONENTS 1152
#define IDS_DESC_UNPUBLISHFEATURES 1153
#define IDS_DESC_UNPUBLISHPRODUCT 1154
#define IDS_DESC_UNREGISTERCLASSINFO 1155
#define IDS_DESC_UNREGISTERCOMPLUS 1156
#define IDS_DESC_UNREGISTEREXTENSIONINFO 1157
#define IDS_DESC_UNREGISTERFONTS 1158
#define IDS_DESC_UNREGISTERMIMEINFO 1159
#define IDS_DESC_UNREGISTERPROGIDINFO 1160
#define IDS_DESC_UNREGISTERTYPELIBRARIES 1161
#define IDS_DESC_WRITEENVIRONMENTSTRINGS 1162
#define IDS_DESC_WRITEINIVALUES 1163
#define IDS_DESC_WRITEREGISTRYVALUES 1164
#define IDS_TEMP_ALLOCATEREGISTRYSPACE 1200
#define IDS_TEMP_APPSEARCH 1201
#define IDS_TEMP_BINDIMAGE 1202
#define IDS_TEMP_CREATEFOLDERS 1203
#define IDS_TEMP_CREATESHORTCUTS 1204
#define IDS_TEMP_DELETESERVICES 1205
#define IDS_TEMP_DUPLICATEFILES 1206
#define IDS_TEMP_FINDRELATEDPRODUCTS 1207
#define IDS_TEMP_INSTALLADMINPACKAGE 1208
#define IDS_TEMP_INSTALLFILES 1209
#define IDS_TEMP_INSTALLSERVICES 1210
#define IDS_TEMP_INSTALLSFPCATALOGFILE 1211
#define IDS_TEMP_MIGRATEFEATURESTATES 1212
#define IDS_TEMP_MOVEFILES 1213
#define IDS_TEMP_MSIPUBLISHASSEMBLIES 1214
#define IDS_TEMP_MSIUNPUBLISHASSEMBLIES 1215
#define IDS_TEMP_PATCHFILES 1216
#define IDS_TEMP_PUBLISHCOMPONENTS 1217
#define IDS_TEMP_PUBLISHFEATURES 1218
#define IDS_TEMP_REGISTERCLASSINFO 1219
#define IDS_TEMP_REGISTERCOMPLUS 1220
#define IDS_TEMP_REGISTEREXTENSIONINFO 1221
#define IDS_TEMP_REGISTERFONTS 1222
#define IDS_TEMP_REGISTERMIMEINFO 1223
#define IDS_TEMP_REGISTERPROGIDINFO 1224
#define IDS_TEMP_REGISTERTYPELIBRARIES 1225
#define IDS_TEMP_REMOVEDUPLICATEFILES 1226
#define IDS_TEMP_REMOVEENVIRONMENTSTRINGS 1227
#define IDS_TEMP_REMOVEEXISTINGPRODUCTS 1228
#define IDS_TEMP_REMOVEFILES 1229
#define IDS_TEMP_REMOVEFOLDERS 1230
#define IDS_TEMP_REMOVEINIVALUES 1231
#define IDS_TEMP_REMOVEREGISTRYVALUES 1232
#define IDS_TEMP_REMOVESHORTCUTS 1233
#define IDS_TEMP_SELFREGMODULES 1234
#define IDS_TEMP_SELFUNREGMODULES 1235
#define IDS_TEMP_STARTSERVICES 1236
#define IDS_TEMP_STOPSERVICES 1237
#define IDS_TEMP_UNPUBLISHCOMPONENTS 1238
#define IDS_TEMP_UNPUBLISHFEATURES 1239
#define IDS_TEMP_UNREGISTERCLASSINFO 1240
#define IDS_TEMP_UNREGISTERCOMPLUS 1241
#define IDS_TEMP_UNREGISTEREXTENSIONINFO 1242
#define IDS_TEMP_UNREGISTERFONTS 1243
#define IDS_TEMP_UNREGISTERMIMEINFO 1244
#define IDS_TEMP_UNREGISTERPROGIDINFO 1245
#define IDS_TEMP_UNREGISTERTYPELIBRARIES 1246
#define IDS_TEMP_WRITEENVIRONMENTSTRINGS 1247
#define IDS_TEMP_WRITEINIVALUES 1248
#define IDS_TEMP_WRITEREGISTRYVALUES 1249
+81
View File
@@ -0,0 +1,81 @@
/* UTF-8 */
#pragma code_page(65001)
#ifdef LANGUAGE_BG_BG
#include "lang/msi_Bg.rc"
#endif
#ifdef LANGUAGE_DA_DK
#include "lang/msi_Da.rc"
#endif
#ifdef LANGUAGE_DE_DE
#include "lang/msi_De.rc"
#endif
#ifdef LANGUAGE_EN_US
#include "lang/msi_En.rc"
#endif
#ifdef LANGUAGE_ES_ES
#include "lang/msi_Es.rc"
#endif
#ifdef LANGUAGE_FI_FI
#include "lang/msi_Fi.rc"
#endif
#ifdef LANGUAGE_FR_FR
#include "lang/msi_Fr.rc"
#endif
#ifdef LANGUAGE_HE_IL
#include "lang/msi_He.rc"
#endif
#ifdef LANGUAGE_HU_HU
#include "lang/msi_Hu.rc"
#endif
#ifdef LANGUAGE_IT_IT
#include "lang/msi_It.rc"
#endif
#ifdef LANGUAGE_JA_JP
#include "lang/msi_Ja.rc"
#endif
#ifdef LANGUAGE_KO_KR
#include "lang/msi_Ko.rc"
#endif
#ifdef LANGUAGE_LT_LT
#include "lang/msi_Lt.rc"
#endif
#ifdef LANGUAGE_NL_NL
#include "lang/msi_Nl.rc"
#endif
#ifdef LANGUAGE_NO_NO
#include "lang/msi_No.rc"
#endif
#ifdef LANGUAGE_PL_PL
#include "lang/msi_Pl.rc"
#endif
#ifdef LANGUAGE_PT_PT
#include "lang/msi_Pt.rc"
#endif
#ifdef LANGUAGE_RO_RO
#include "lang/msi_Ro.rc"
#endif
#ifdef LANGUAGE_RU_RU
#include "lang/msi_Ru.rc"
#endif
#ifdef LANGUAGE_SL_SI
#include "lang/msi_Si.rc"
#endif
#ifdef LANGUAGE_SQ_AL
#include "lang/msi_Sq.rc"
#endif
#ifdef LANGUAGE_SR_SP
#include "lang/msi_Sr.rc"
#endif
#ifdef LANGUAGE_SV_SE
#include "lang/msi_Sv.rc"
#endif
#ifdef LANGUAGE_TR_TR
#include "lang/msi_Tr.rc"
#endif
#ifdef LANGUAGE_UK_UA
#include "lang/msi_Uk.rc"
#endif
#ifdef LANGUAGE_ZH_CN
#include "lang/msi_Zh.rc"
#endif
-19
View File
@@ -2393,25 +2393,6 @@ static MSIRECORD *msi_get_transform_record( const MSITABLEVIEW *tv, const string
return rec; return rec;
} }
static void dump_record( MSIRECORD *rec )
{
UINT i, n;
n = MSI_RecordGetFieldCount( rec );
for( i=1; i<=n; i++ )
{
int len;
const WCHAR *sval;
if( MSI_RecordIsNull( rec, i ) )
TRACE("row -> []\n");
else if( (sval = msi_record_get_string( rec, i, &len )) )
TRACE("row -> [%s]\n", debugstr_wn(sval, len));
else
TRACE("row -> [0x%08x]\n", MSI_RecordGetInteger( rec, i ) );
}
}
static void dump_table( const string_table *st, const USHORT *rawdata, UINT rawsize ) static void dump_table( const string_table *st, const USHORT *rawdata, UINT rawsize )
{ {
UINT i; UINT i;
+1 -1
View File
@@ -181,7 +181,7 @@ static UINT ITERATE_FindRelatedProducts(MSIRECORD *rec, LPVOID param)
action_property = MSI_RecordGetString(rec, 7); action_property = MSI_RecordGetString(rec, 7);
append_productcode(package, action_property, productid); append_productcode(package, action_property, productid);
MSI_RecordSetStringW(uirow, 1, productid); MSI_RecordSetStringW(uirow, 1, productid);
msi_ui_actiondata(package, szFindRelatedProducts, uirow); MSI_ProcessMessage(package, INSTALLMESSAGE_ACTIONDATA, uirow);
} }
index ++; index ++;
} }
+1 -1
View File
@@ -112,7 +112,7 @@ reactos/dll/win32/msg711.acm # Synced to WineStaging-2.9
reactos/dll/win32/msgsm32.acm # Synced to WineStaging-2.9 reactos/dll/win32/msgsm32.acm # Synced to WineStaging-2.9
reactos/dll/win32/mshtml # Synced to WineStaging-1.7.55 reactos/dll/win32/mshtml # Synced to WineStaging-1.7.55
reactos/dll/win32/mshtml.tlb # Synced to WineStaging-1.7.55 reactos/dll/win32/mshtml.tlb # Synced to WineStaging-1.7.55
reactos/dll/win32/msi # Synced to WineStaging-2.9 reactos/dll/win32/msi # Synced to WineStaging-2.16
reactos/dll/win32/msimg32 # Synced to WineStaging-2.16 reactos/dll/win32/msimg32 # Synced to WineStaging-2.16
reactos/dll/win32/msimtf # Synced to WineStaging-2.9 reactos/dll/win32/msimtf # Synced to WineStaging-2.9
reactos/dll/win32/msisip # Synced to WineStaging-2.9 reactos/dll/win32/msisip # Synced to WineStaging-2.9