[PATCH] msiexec: Use resource in msi for a Help Dialog to allow translation [try 2]

Detlef Riekenberg wine.dev at web.de
Mon Apr 26 12:01:21 CDT 2010


Now using a dynamic buffer for the resource string

--
By by ... Detlef
---
 dlls/msi/msi_Bg.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Da.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_De.rc         |   29 ++++++++++++++++++-
 dlls/msi/msi_En.rc         |   29 ++++++++++++++++++-
 dlls/msi/msi_Eo.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Es.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Fi.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Fr.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Hu.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_It.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Ko.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Lt.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Nl.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_No.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Pl.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Pt.rc         |   56 +++++++++++++++++++++++++++++++++++-
 dlls/msi/msi_Ro.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Ru.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Si.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Sv.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Tr.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Uk.rc         |   28 +++++++++++++++++-
 dlls/msi/msi_Zh.rc         |   56 +++++++++++++++++++++++++++++++++++-
 programs/msiexec/msiexec.c |   68 +++++++++++++++++++++++--------------------
 24 files changed, 713 insertions(+), 57 deletions(-)

diff --git a/dlls/msi/msi_Bg.rc b/dlls/msi/msi_Bg.rc
index d3b8ca8..48b140f 100644
--- a/dlls/msi/msi_Bg.rc
+++ b/dlls/msi/msi_Bg.rc
@@ -27,7 +27,33 @@ STRINGTABLE DISCARDABLE
 	4 "The specified installation package could not be opened.  Please check the file path and try again."
 	5 "ïúòÿò %s íå å íàìåðåí"
 	9 "ïîñòàâåòå äèñê %s"
-	10 "íåêîðåêòíè ïàðàìåòðè"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "âúâåäåòå ïàïêàòà, êîÿòî ñúäúðæà %s"
 	12 "èçòî÷íèêà çà èíñòàëàöèÿ íà ôóíêöèîíàëíîñòòà ëèïñâà"
 	13 "ìðåæîâîòî óñòðîéñòâà íóæíî çà ôóíêöèîíàëíîñòòà ëèïñâà "
diff --git a/dlls/msi/msi_Da.rc b/dlls/msi/msi_Da.rc
index beee427..9520900 100644
--- a/dlls/msi/msi_Da.rc
+++ b/dlls/msi/msi_Da.rc
@@ -27,7 +27,33 @@ STRINGTABLE DISCARDABLE
 	4 "Kunne ikke åbne den specificerede installationspakke. Kontroller stien og prøv igen."
 	5 "kunne ikke finden stien '%s'."
 	9 "indsæt disk '%s'"
-	10 "forkerte parametere."
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "angiv kataloget som indeholder '%s'."
 	12 "featurens installationskilde mangler."
         13 "featurens netværksdrev mangler."
diff --git a/dlls/msi/msi_De.rc b/dlls/msi/msi_De.rc
index e0cccf0..5546a40 100644
--- a/dlls/msi/msi_De.rc
+++ b/dlls/msi/msi_De.rc
@@ -2,6 +2,7 @@
  * German resources for MSI
  *
  * Copyright 2005 Henning Gerhardt
+ * Copyright 2010 Detlef Riekenberg
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -29,7 +30,33 @@ STRINGTABLE DISCARDABLE
 	4 "Das angegebene Installationspaket konnte nicht geöffnet werden. Bitte überprüfen Sie den Pfadnamen und versuchen Sie es noch einmal."
 	5 "Der Pfad %s wurde nicht gefunden."
 	9 "Bitte Disk %s einlegen."
-	10 "Falsche Parameter"
+	10 "Wine Nachbau für: Windows Installer %s\n\n" \
+	"Benutzung:\n" \
+	"msiexec Befehl {Parameter} [Zusätzliche Parammeter]\n\n" \
+	"Produkt installieren:\n" \
+	"\t/i {Paket|Produktcode} [Eigenschaft]\n" \
+	"\t/package {Paket|Produktcode} [Eigenschaft]\n" \
+	"\t/a Paket [Eigenschaft]\n" \
+	"Installation reparieren:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {Paket|Produktcode}\n" \
+	"Produkt deinstallieren:\n" \
+	"\t/uninstall {Paket|Produktcode} [Eigenschaft]\n" \
+	"\t/x {Paket|Produktcode} [Eigenschaft]\n" \
+	"Produkt ankündigen:\n" \
+	"\t/j[u|m] Paket [/t Transformationspaket] [/g Sprachkennung]\n" \
+	"Patch integrieren:\n" \
+	"\t/p Patchpaket [Eigenschaft]\n" \
+	"\t/p Patchpaket /a Paket [Eigenschaft]\n" \
+	"Protokollierung 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-}\n" \
+	"MSI Service registrieren:\n" \
+	"\t/y\n" \
+	"Registrierung des MSI Service aufheben:\n" \
+	"\t/z\n" \
+	"Hilfe anzeigen:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "Geben Sie das Verzeichnis ein, dass %s enthält."
 	12 "Die Installationsquelle für das Feature fehlt."
 	13 "Das Netzwerklaufwerk für das Feature fehlt."
diff --git a/dlls/msi/msi_En.rc b/dlls/msi/msi_En.rc
index 74fc5c1..eb71622 100644
--- a/dlls/msi/msi_En.rc
+++ b/dlls/msi/msi_En.rc
@@ -2,6 +2,7 @@
  * English resources for MSI
  *
  * Copyright 2005 Mike McCormack
+ * Copyright 2010 Detlef Riekenberg
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -27,7 +28,33 @@ 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"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister 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"
diff --git a/dlls/msi/msi_Eo.rc b/dlls/msi/msi_Eo.rc
index 7579bdc..8421d3e 100644
--- a/dlls/msi/msi_Eo.rc
+++ b/dlls/msi/msi_Eo.rc
@@ -27,7 +27,33 @@ 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"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "enigu la nomon de dosierujo kiu enhavas %s"
 	12 "instalad-fonto por mankanta taýgeco"
 	13 "retdrajvo por mankanta taýgeco"
diff --git a/dlls/msi/msi_Es.rc b/dlls/msi/msi_Es.rc
index 781be07..5cfc0b1 100644
--- a/dlls/msi/msi_Es.rc
+++ b/dlls/msi/msi_Es.rc
@@ -27,7 +27,33 @@ STRINGTABLE DISCARDABLE
 	4 "No se ha podido abrir el paquete de instalación especificado. Por favor, compruebe la ruta del archivo y vuelva a intentarlo."
 	5 "ruta %s no encontrada"
 	9 "inserte el disco %s"
-	10 "parámetros incorrectos"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "introduzca qué carpeta contiene %s"
 	12 "instalar fuente para característica ausente"
 	13 "unidad de red para característica ausente"
diff --git a/dlls/msi/msi_Fi.rc b/dlls/msi/msi_Fi.rc
index 17721aa..0a50f32 100644
--- a/dlls/msi/msi_Fi.rc
+++ b/dlls/msi/msi_Fi.rc
@@ -27,7 +27,33 @@ 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."
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "Anna kansio, joka sisältää %s"
 	12 "Ominaisuuden asennuslähde puuttuu."
 	13 "Ominaisuuden verkkolevy puuttuu."
diff --git a/dlls/msi/msi_Fr.rc b/dlls/msi/msi_Fr.rc
index f7f7338..d9e735f 100644
--- a/dlls/msi/msi_Fr.rc
+++ b/dlls/msi/msi_Fr.rc
@@ -30,7 +30,33 @@ STRINGTABLE DISCARDABLE
 	4 "Le paquet d'installation spécifié n'a pu être ouvert. Veuillez vérifier le chemin du fichier et réessayer."
 	5 "Le chemin %s est introuvable"
 	9 "insérez le disque %s"
-	10 "mauvais paramètres"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "saisissez le nom du dossier contenant %s"
 	12 "source d'installation pour la fonctionnalité manquante"
 	13 "lecteur réseau pour la fonctionnalité manquante"
diff --git a/dlls/msi/msi_Hu.rc b/dlls/msi/msi_Hu.rc
index 21ba5cf..d05e62a 100644
--- a/dlls/msi/msi_Hu.rc
+++ b/dlls/msi/msi_Hu.rc
@@ -27,7 +27,33 @@ 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"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "adja meg melyik mappa tartalmazza ezt: %s"
 	12 "hiányzó tulajdonság a telepítési forráshoz"
 	13 "hiányzó tulajdonság a hálózati meghajtóhoz"
diff --git a/dlls/msi/msi_It.rc b/dlls/msi/msi_It.rc
index a40a730..58d121a 100644
--- a/dlls/msi/msi_It.rc
+++ b/dlls/msi/msi_It.rc
@@ -30,7 +30,33 @@ STRINGTABLE DISCARDABLE
 	4 "Impossibile aprire il pacchetto di installazione specificato.  Per favore controlla l'indirizzo del file e riprova."
 	5 "percorso %s non trovato"
 	9 "inserire disco %s"
-	10 "parametri incorretti"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "immettere il nome della cartella che contiene %s"
 	12 "sorgente di installazione per la funzionalità mancante"
 	13 "periferica di rete per la funzionalità mancante"
diff --git a/dlls/msi/msi_Ko.rc b/dlls/msi/msi_Ko.rc
index ca14253..f460815 100644
--- a/dlls/msi/msi_Ko.rc
+++ b/dlls/msi/msi_Ko.rc
@@ -27,7 +27,33 @@ STRINGTABLE DISCARDABLE
 	4 " ÁöÁ¤ÇÑ ¼³Ä¡ ÆÐÅ°Áö¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù. ÆÄÀÏ °æ·Î¸¦ È®ÀÎÇÏ°í ´Ù½Ã ½ÃµµÇϽʽÿÀ."
 	5 "%s  °æ·Î¸¦ ãÀ»¼ö ¾ø½À´Ï´Ù"
 	9 "µð½ºÅ© %s »ðÀÔ"
-	10 "À߸øµÈ ¸Å°³º¯¼ö"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "%s¸¦ Æ÷ÇÔÇÏ´Â Æú´õ¸¦ ÀÔ·ÂÇϼ¼¿©"
 	12 "ºüÁø ºÎºÐ(feature)À» À§ÇÑ ¼³Ä¡ ¿øº»"
 	13 "ºüÁø ºÎºÐ(feature)À» À§ÇÑ ³×Æ®¿öÅ© µå¶óÀ̺ê"
diff --git a/dlls/msi/msi_Lt.rc b/dlls/msi/msi_Lt.rc
index 1cf1c52..a979279 100644
--- a/dlls/msi/msi_Lt.rc
+++ b/dlls/msi/msi_Lt.rc
@@ -30,7 +30,33 @@ STRINGTABLE DISCARDABLE
 	4 "Nepavyko atverti nurodyto diegimo paketo. Patikrinkite failo keliÄ… ir mÄ—ginkite dar kartÄ…."
 	5 "kelias %s nerastas"
 	9 "įdėkite diską %s"
-	10 "blogi parametrai"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "įveskite aplanką, kuris turi %s"
 	12 "trūksta diegimo šaltinio komponentui"
 	13 "trūksta tinklo disko komponentui"
diff --git a/dlls/msi/msi_Nl.rc b/dlls/msi/msi_Nl.rc
index da30430..66f0110 100644
--- a/dlls/msi/msi_Nl.rc
+++ b/dlls/msi/msi_Nl.rc
@@ -27,7 +27,33 @@ 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"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "Voer de map in die %s bevat"
 	12 "De installatiebron van het feature ontbreekt"
 	13 "De netwerkschijf met het feature ontbreekt"
diff --git a/dlls/msi/msi_No.rc b/dlls/msi/msi_No.rc
index e885f5a..8b48f66 100644
--- a/dlls/msi/msi_No.rc
+++ b/dlls/msi/msi_No.rc
@@ -27,7 +27,33 @@ STRINGTABLE DISCARDABLE
 	4 "Klarte ikke åpne den oppgitte installasjonspakken. Kontroller filbanen og prøv igjen."
 	5 "Fant ikke stien '%s'."
 	9 "Sett i disk '%s'"
-	10 "Gale parametere."
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "Oppgi katalogen som inneholder '%s'."
 	12 "Egenskapens installasjonskilde mangler."
 	13 "Egenskapens nettverksstasjon mangler."
diff --git a/dlls/msi/msi_Pl.rc b/dlls/msi/msi_Pl.rc
index c31311e..fa2db8a 100644
--- a/dlls/msi/msi_Pl.rc
+++ b/dlls/msi/msi_Pl.rc
@@ -28,7 +28,33 @@ STRINGTABLE DISCARDABLE
 	4 "Nie uda³o siê otworzyæ wybranego pakietu instalacyjnego. SprawdŸ czy œcie¿ka jest poprawna i spróbuj ponownie."
 	5 "œcie¿ka '%s' nie zosta³a odnaleziona"
 	9 "w³ó¿ dysk '%s'"
-	10 "z³e parametry"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "wprowadŸ sice¿kê do folderu zawieraj¹cego '%s'"
 	12 "Ÿród³o danych zawieraj¹ce ¿¹danê funkcjê jest niedostêpne"
 	13 "dysk siecowy zawieraj¹cy ¿¹dan¹ funckje jest niedostêpny"
diff --git a/dlls/msi/msi_Pt.rc b/dlls/msi/msi_Pt.rc
index 64ab163..ba886da 100644
--- a/dlls/msi/msi_Pt.rc
+++ b/dlls/msi/msi_Pt.rc
@@ -28,7 +28,33 @@ 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"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "entre qual pasta contém %s"
 	12 "instalar fonte para característica faltando"
 	13 "drive de rede para  característica faltando"
@@ -43,7 +69,33 @@ STRINGTABLE DISCARDABLE
 	4 "The specified installation package could not be opened.  Please check the file path and try again."
 	5 "localização %s não encontrada"
 	9 "insira o disco %s"
-	10 "parâmetros inválidos"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "indique que pasta contém %s"
 	12 "instalar fonte para a opção em falta"
 	13 "controlador de rede para a opção em falta"
diff --git a/dlls/msi/msi_Ro.rc b/dlls/msi/msi_Ro.rc
index b877b42..b6e7561 100644
--- a/dlls/msi/msi_Ro.rc
+++ b/dlls/msi/msi_Ro.rc
@@ -28,7 +28,33 @@ STRINGTABLE DISCARDABLE
         4 "Pachetul de instalare menționat nu a putut fi deschis. Verificați calea și încercați din nou."
         5 "calea %s nu a fost găsită"
         9 "inserați discul %s"
-        10 "parameteri greșiți"
+        10 "Wine replacement for: Windows Installer %s\n\n" \
+        "Usage:\n" \
+        "msiexec command {required parameter} [optional parammeter]\n\n" \
+        "Install a product:\n" \
+        "\t/i {package|productcode} [property]\n" \
+        "\t/package {package|productcode} [property]\n" \
+        "\t/a package [property]\n" \
+        "Repair an installation:\n" \
+        "\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+        "Uninstall a product:\n" \
+        "\t/uninstall {package|productcode} [property]\n" \
+        "\t/x {package|productcode} [property]\n" \
+        "Advertise a product:\n" \
+        "\t/j[u|m] package [/t transform] [/g languageid]\n" \
+        "Apply a patch:\n" \
+        "\t/p patchpackage [property]\n" \
+        "\t/p patchpackage /a package [property]\n" \
+        "Log 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" \
+        "Register MSI Service:\n" \
+        "\t/y\n" \
+        "Unregister MSI Service:\n" \
+        "\t/z\n" \
+        "Display this help:\n" \
+        "\t/help\n" \
+        "\t/?\n"
         11 "introduceți fișierul care conține %s"
         12 "lipsește sursa de instalare pentru această caracteristică"
         13 "lipsește unitatea de rețea pentru această caracteristică"
diff --git a/dlls/msi/msi_Ru.rc b/dlls/msi/msi_Ru.rc
index 8e7aafd..f635749 100644
--- a/dlls/msi/msi_Ru.rc
+++ b/dlls/msi/msi_Ru.rc
@@ -30,7 +30,33 @@ STRINGTABLE DISCARDABLE
 	4 "Указанный пакет не может быть открыт. Проверьте файл и повторите попытку."
 	5 "путь %s не найден"
 	9 "вставьте диск %s"
-	10 "неверные параметры"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "укажите каталог, содержащий %s"
 	12 "источник установки данной возможности не указан"
 	13 "сетевой диск для данной возможности не указан"
diff --git a/dlls/msi/msi_Si.rc b/dlls/msi/msi_Si.rc
index 7582339..4c1faa2 100644
--- a/dlls/msi/msi_Si.rc
+++ b/dlls/msi/msi_Si.rc
@@ -29,7 +29,33 @@ STRINGTABLE DISCARDABLE
 	4 "Navedenega namestitvenega paketa ni mogoče odpreti. Preverite ime datoteke in poskusite znova."
 	5 "pot %s ne obstaja"
 	9 "vnesite disk %s"
-	10 "neveljavni parametri"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "vnesite ime mape, ki vsebuje %s"
 	12 "manjkajoč namestitveni vir za namestitev funkcije"
 	13 "manjkajoč omrežni pogon za namestitev funkcijo"
diff --git a/dlls/msi/msi_Sv.rc b/dlls/msi/msi_Sv.rc
index 47bf09b..d3e7b4f 100644
--- a/dlls/msi/msi_Sv.rc
+++ b/dlls/msi/msi_Sv.rc
@@ -27,7 +27,33 @@ STRINGTABLE DISCARDABLE
 	4 "Det angivna installationspaketet kunde inte öppnas.  Kontrollera filsökvägen och försök igen."
 	5 "sökvägen %s hittades inte"
 	9 "mata in %s"
-	10 "felaktiga parametrar"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "ange vilken mapp som innehåller %s"
 	12 "installationskälla för funktion saknar"
 	13 "nätverksenhet för funktion saknar"
diff --git a/dlls/msi/msi_Tr.rc b/dlls/msi/msi_Tr.rc
index a8e0f36..064aca7 100644
--- a/dlls/msi/msi_Tr.rc
+++ b/dlls/msi/msi_Tr.rc
@@ -27,7 +27,33 @@ 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"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "%s öðesini içeren dizini girin"
 	12 "eksik özellik için kurulum kaynaðý"
 	13 "eksik özellik için að sürücüsü"
diff --git a/dlls/msi/msi_Uk.rc b/dlls/msi/msi_Uk.rc
index 4b7173e..bcc2cf8 100644
--- a/dlls/msi/msi_Uk.rc
+++ b/dlls/msi/msi_Uk.rc
@@ -32,7 +32,33 @@ STRINGTABLE DISCARDABLE
 	4 "Не вдалося відкрити вказаний пакет інсталяції.  Перевірте шлях до файлу та спробуйте знов."
 	5 "шлях %s не знайдено"
 	9 "вставте диск %s"
-	10 "невірні параметри"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "вкажіть папку, що містить %s"
 	12 "джерело встановлення даної можливості не вказане"
 	13 "мережевий диск для даної можливості не вказаний"
diff --git a/dlls/msi/msi_Zh.rc b/dlls/msi/msi_Zh.rc
index a6d5cd1..fc66d01 100644
--- a/dlls/msi/msi_Zh.rc
+++ b/dlls/msi/msi_Zh.rc
@@ -30,7 +30,33 @@ STRINGTABLE DISCARDABLE
 	4 "不能打开所指定的安装软件包. 请检查文件路径后再试."
 	5 "路径 %s 没找到"
 	9 "插入软盘 %s"
-	10 "错误参数"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "输入包含 %s 的文件夹"
 	12 "本功能的安装源不存在"
 	13 "本功能的网络驱动器不存在"
@@ -45,7 +71,33 @@ STRINGTABLE DISCARDABLE
 	4 "不能開啟所指定的安裝軟件包. 請檢查檔案路徑後再試."
 	5 "路徑 %s 沒找到"
 	9 "插入軟碟 %s"
-	10 "錯誤參數"
+	10 "Wine replacement for: Windows Installer %s\n\n" \
+	"Usage:\n" \
+	"msiexec command {required parameter} [optional parammeter]\n\n" \
+	"Install a product:\n" \
+	"\t/i {package|productcode} [property]\n" \
+	"\t/package {package|productcode} [property]\n" \
+	"\t/a package [property]\n" \
+	"Repair an installation:\n" \
+	"\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \
+	"Uninstall a product:\n" \
+	"\t/uninstall {package|productcode} [property]\n" \
+	"\t/x {package|productcode} [property]\n" \
+	"Advertise a product:\n" \
+	"\t/j[u|m] package [/t transform] [/g languageid]\n" \
+	"Apply a patch:\n" \
+	"\t/p patchpackage [property]\n" \
+	"\t/p patchpackage /a package [property]\n" \
+	"Log 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" \
+	"Register MSI Service:\n" \
+	"\t/y\n" \
+	"Unregister MSI Service:\n" \
+	"\t/z\n" \
+	"Display this help:\n" \
+	"\t/help\n" \
+	"\t/?\n"
 	11 "輸入包含 %s 的檔案夾"
 	12 "本功能的安裝源不存在"
 	13 "本功能的網路儲存槽不存在"
diff --git a/programs/msiexec/msiexec.c b/programs/msiexec/msiexec.c
index 5415291..d90063f 100644
--- a/programs/msiexec/msiexec.c
+++ b/programs/msiexec/msiexec.c
@@ -42,36 +42,6 @@ struct string_list
 	WCHAR str[1];
 };
 
-static const char UsageStr[] =
-"Usage:\n"
-"  Install a product:\n"
-"    msiexec {package|productcode} [property]\n"
-"    msiexec /i {package|productcode} [property]\n"
-"    msiexec /package {package|productcode} [property]\n"
-"    msiexec /a package [property]\n"
-"  Repair an installation:\n"
-"    msiexec /f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n"
-"  Uninstall a product:\n"
-"    msiexec /x {package|productcode} [property]\n"
-"  Advertise a product:\n"
-"    msiexec /j[u|m] package [/t transform] [/g languageid]\n"
-"    msiexec {u|m} package [/t transform] [/g languageid]\n"
-"  Apply a patch:\n"
-"    msiexec /p patchpackage [property]\n"
-"    msiexec /p patchpackage /a package [property]\n"
-"  Modifiers for above operations:\n"
-"    msiexec /l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n"
-"    msiexec /q{|n|b|r|f|n+|b+|b-}\n"
-"  Register a module:\n"
-"    msiexec /y module\n"
-"  Unregister a module:\n"
-"    msiexec /z module\n"
-"  Display usage and copyright:\n"
-"    msiexec {/h|/?}\n"
-"NOTE: Product code on commandline unimplemented as of yet\n"
-"\n"
-"Copyright 2004 Vincent Béron\n";
-
 static const WCHAR ActionAdmin[] = {
    'A','C','T','I','O','N','=','A','D','M','I','N',0 };
 static const WCHAR RemoveAll[] = {
@@ -87,7 +57,41 @@ static const WCHAR InstallRunOnce[] = {
 
 static void ShowUsage(int ExitCode)
 {
-	printf(UsageStr);
+    WCHAR msiexec_version[40];
+    WCHAR filename[MAX_PATH];
+    LPWSTR msi_res;
+    LPWSTR msiexec_help;
+    HMODULE hmsi = GetModuleHandleA("msi.dll");
+    DWORD len;
+    DWORD res;
+
+    /* MsiGetFileVersion need the full path */
+    *filename = 0;
+    res = GetModuleFileNameW(hmsi, filename, sizeof(filename) / sizeof(filename[0]));
+    if (!res)
+        WINE_ERR("GetModuleFileName failed: %d\n", GetLastError());
+
+    len = sizeof(msiexec_version) / sizeof(msiexec_version[0]);
+    *msiexec_version = 0;
+    res = MsiGetFileVersionW(filename, msiexec_version, &len, NULL, NULL);
+    if (res)
+        WINE_ERR("MsiGetFileVersion failed with %d\n", res);
+
+    /* Return the length of the resource.
+       No typo: The LPWSTR parameter must be a LPWSTR * for this mode */
+    len = LoadStringW(hmsi, 10, (LPWSTR) &msi_res, 0);
+
+    msi_res = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR));
+    msiexec_help = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR) + sizeof(msiexec_version));
+    if (msi_res && msiexec_help) {
+        *msi_res = 0;
+        LoadStringW(hmsi, 10, msi_res, len + 1);
+
+        sprintfW(msiexec_help, msi_res, msiexec_version);
+        MsiMessageBoxW(0, msiexec_help, NULL, 0, GetUserDefaultLangID(), 0);
+    }
+    HeapFree(GetProcessHeap(), 0, msi_res);
+    HeapFree(GetProcessHeap(), 0, msiexec_help);
 	ExitProcess(ExitCode);
 }
 
@@ -898,7 +902,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
 			WINE_TRACE("argvW[%d] = %s\n", i, wine_dbgstr_w(argvW[i]));
 			DllName = argvW[i];
 		}
-		else if(msi_option_equal(argvW[i], "h") || msi_option_equal(argvW[i], "?"))
+		else if(msi_option_equal(argvW[i], "help") || msi_option_equal(argvW[i], "?"))
 		{
 			ShowUsage(0);
 		}
-- 
1.7.0.4




More information about the wine-patches mailing list