diff --git a/dlls/msi/helpers.c b/dlls/msi/helpers.c index 51184d509e2..33a7fa25398 100644 --- a/dlls/msi/helpers.c +++ b/dlls/msi/helpers.c @@ -1008,3 +1008,18 @@ WCHAR* generate_error_string(MSIPACKAGE *package, UINT error, DWORD count, ... ) data = NULL; return data; } + +void msi_ui_error( DWORD msg_id, DWORD type ) +{ + WCHAR text[2048]; + + static const WCHAR title[] = { + 'W','i','n','d','o','w','s',' ','I','n','s','t','a','l','l','e','r',0 + }; + + if (!MsiLoadStringW( -1, msg_id, text, sizeof(text) / sizeof(text[0]), + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL) )) + return; + + MessageBoxW( NULL, text, title, type ); +} diff --git a/dlls/msi/msi_Bg.rc b/dlls/msi/msi_Bg.rc index d5818efcf89..3f2b34a5eb1 100644 --- a/dlls/msi/msi_Bg.rc +++ b/dlls/msi/msi_Bg.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "ïúòÿò %s íå å íàìåðåí" 9 "ïîñòàâåòå äèñê %s" 10 "íåêîðåêòíè ïàðàìåòðè" diff --git a/dlls/msi/msi_De.rc b/dlls/msi/msi_De.rc index c07a3eb3ebf..ed1d5376903 100644 --- a/dlls/msi/msi_De.rc +++ b/dlls/msi/msi_De.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "Der Pfad %s wurde nicht gefunden." 9 "Bitte Disk %s einlegen." 10 "schlechte Parameter" diff --git a/dlls/msi/msi_En.rc b/dlls/msi/msi_En.rc index 066d812f12f..55a6b229ff5 100644 --- a/dlls/msi/msi_En.rc +++ b/dlls/msi/msi_En.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT STRINGTABLE DISCARDABLE { + 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 "bad parameters" diff --git a/dlls/msi/msi_Eo.rc b/dlls/msi/msi_Eo.rc index 5b050c18fbe..e7ed2fa5a26 100644 --- a/dlls/msi/msi_Eo.rc +++ b/dlls/msi/msi_Eo.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_ESPERANTO, SUBLANG_DEFAULT STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "Mi ne trovis la vojon %s" 9 "enþovu la diskon %s" 10 "nekorektaj parametroj" diff --git a/dlls/msi/msi_Es.rc b/dlls/msi/msi_Es.rc index 43e765244d0..3f33ea38218 100644 --- a/dlls/msi/msi_Es.rc +++ b/dlls/msi/msi_Es.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "ruta %s no encontrada" 9 "inserte el disco %s" 10 "parámetros incorrectos" diff --git a/dlls/msi/msi_Fi.rc b/dlls/msi/msi_Fi.rc index 18686d9a4a2..87ce3280202 100644 --- a/dlls/msi/msi_Fi.rc +++ b/dlls/msi/msi_Fi.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "Polkua %s ei löydy." 9 "Anna levy %s" 10 "Virheelliset parametrit." diff --git a/dlls/msi/msi_Fr.rc b/dlls/msi/msi_Fr.rc index fa50f68f72e..8b4b83ffdaf 100644 --- a/dlls/msi/msi_Fr.rc +++ b/dlls/msi/msi_Fr.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "Le chemin %s est introuvable" 9 "insérez le disque %s" 10 "mauvais paramètres" diff --git a/dlls/msi/msi_Hu.rc b/dlls/msi/msi_Hu.rc index 4dacfe24ff8..ccefef7a14b 100644 --- a/dlls/msi/msi_Hu.rc +++ b/dlls/msi/msi_Hu.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "%s útvonal nem található" 9 "helyezze be a lemezt: %s" 10 "rossz paraméterek" diff --git a/dlls/msi/msi_It.rc b/dlls/msi/msi_It.rc index 7a3056c6725..8f5f2dd58b8 100644 --- a/dlls/msi/msi_It.rc +++ b/dlls/msi/msi_It.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "percorso %s non trovato" 9 "inserire disco %s" 10 "parametri incorretti" diff --git a/dlls/msi/msi_Ko.rc b/dlls/msi/msi_Ko.rc index 50b62250cfc..8885c08e3c5 100644 --- a/dlls/msi/msi_Ko.rc +++ b/dlls/msi/msi_Ko.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "%s °æ·Î¸¦ ãÀ»¼ö ¾ø½À´Ï´Ù" 9 "µð½ºÅ© %s »ðÀÔ" 10 "Àý¸øµÈ ¸Å°³º¯¼ö" diff --git a/dlls/msi/msi_Nl.rc b/dlls/msi/msi_Nl.rc index f941c29127d..336af05d56f 100644 --- a/dlls/msi/msi_Nl.rc +++ b/dlls/msi/msi_Nl.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_DUTCH, SUBLANG_DEFAULT STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "Pad %s niet gevonden" 9 "Plaats disk %s" 10 "Ongeldige parameters" diff --git a/dlls/msi/msi_No.rc b/dlls/msi/msi_No.rc index 5aaa271f162..3d40ba01ab2 100644 --- a/dlls/msi/msi_No.rc +++ b/dlls/msi/msi_No.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "Fant ikke stien '%s'." 9 "Sett i disk '%s'" 10 "Gale parametere." diff --git a/dlls/msi/msi_Pt.rc b/dlls/msi/msi_Pt.rc index 7b814ff5b51..f9af3f4adaf 100644 --- a/dlls/msi/msi_Pt.rc +++ b/dlls/msi/msi_Pt.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "caminho %s não encontrado" 9 "insira disco %s" 10 "parâmetros inválidos" diff --git a/dlls/msi/msi_Ru.rc b/dlls/msi/msi_Ru.rc index 23e55ab0de8..888faa3dc4b 100644 --- a/dlls/msi/msi_Ru.rc +++ b/dlls/msi/msi_Ru.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "ïóòü %s íå íàéäåí" 9 "âñòàâüòå äèñê %s" 10 "íåâåðíûå ïàðàìåòðû" diff --git a/dlls/msi/msi_Tr.rc b/dlls/msi/msi_Tr.rc index dda287c3fee..becd9136d6d 100644 --- a/dlls/msi/msi_Tr.rc +++ b/dlls/msi/msi_Tr.rc @@ -22,6 +22,7 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT STRINGTABLE DISCARDABLE { + 4 "The specified installation package could not be opened. Please check the file path and try again." 5 "%s yolu bulunamadý" 9 "%s nolu diski yerleþtirin" 10 "bozuk parametreler" diff --git a/dlls/msi/package.c b/dlls/msi/package.c index d172c50820b..d2b6f2f8ec6 100644 --- a/dlls/msi/package.c +++ b/dlls/msi/package.c @@ -47,6 +47,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(msi); +extern void msi_ui_error( DWORD msg_id, DWORD type ); + static void MSI_FreePackage( MSIOBJECTHDR *arg) { MSIPACKAGE *package= (MSIPACKAGE*) arg; @@ -549,7 +551,12 @@ UINT MSI_OpenPackageW(LPCWSTR szPackage, MSIPACKAGE **pPackage) DeleteFileW( file ); if( r != ERROR_SUCCESS ) + { + if (GetLastError() == ERROR_FILE_NOT_FOUND) + msi_ui_error( 4, MB_OK | MB_ICONWARNING ); + return r; + } } package = MSI_CreatePackage( db );