DEFAULT_TITLE_NAME = "PlantsvsZombies" STUDIO = "PopCap" PRODUCT_CODE = "{5E6536C2-E79A-49CF-83EA-817AD81F9FC8}" PRODUCT_EXECUTABLE_NAME = "PlantsVsZombies.exe" PRODUCT_ICON = "PlantsVsZombies.exe" VERSION = "1.2.0.1093" GAME_EXE_LIST = "PlantsVsZombies.exe;Plants vs. Zombies EN\\PlantsVsZombies.exe;Plants vs. Zombies DE\\PlantsVsZombies.exe;Plants vs. Zombies ES\\PlantsVsZombies.exe;Plants vs. Zombies FR\\PlantsVsZombies.exe;Plants vs. Zombies IT\\PlantsVsZombies.exe;Plants vs. Zombies EN\\Core\\activation.exe;Plants vs. Zombies EN\\Core\\EACoreServer.exe;Plants vs. Zombies EN\\Core\\EAProxyInstaller.exe;Plants vs. Zombies EN\\Core\\PatchProgress.exe;Plants vs. Zombies DE\\Core\\activation.exe;Plants vs. Zombies DE\\Core\\EACoreServer.exe;Plants vs. Zombies DE\\Core\\EAProxyInstaller.exe;Plants vs. Zombies DE\\Core\\PatchProgress.exe;Plants vs. Zombies ES\\Core\\activation.exe;Plants vs. Zombies ES\\Core\\EACoreServer.exe;Plants vs. Zombies ES\\Core\\EAProxyInstaller.exe;Plants vs. Zombies ES\\Core\\PatchProgress.exe;Plants vs. Zombies FR\\Core\\activation.exe;Plants vs. Zombies FR\\Core\\EACoreServer.exe;Plants vs. Zombies FR\\Core\\EAProxyInstaller.exe;Plants vs. Zombies FR\\Core\\PatchProgress.exe;Plants vs. Zombies IT\\Core\\activation.exe;Plants vs. Zombies IT\\Core\\EACoreServer.exe;Plants vs. Zombies IT\\Core\\EAProxyInstaller.exe;Plants vs. Zombies IT\\Core\\PatchProgress.exe;" GAME_DEPENDENT_EXE_LIST = "" local l_0_0 = {} l_0_0.en_US = "Electronic Arts, Inc." l_0_0.de_DE = "Electronic Arts, Inc." l_0_0.es_ES = "Electronic Arts, Inc." l_0_0.es_MX = "Electronic Arts, Inc." l_0_0.fr_FR = "Electronic Arts, Inc." l_0_0.it_IT = "Electronic Arts, Inc." PUBLISHER = l_0_0 l_0_0 = {en_US = "http://www.ea.com", fr_FR = "http://www.ea.com/fr", de_DE = "http://www.ea.com/de", es_MX = "http://www.ea.com/mx", es_ES = "http://www.ea.com/es", it_IT = "http://www.ea.com/it"} PUBLISHER_URIS = l_0_0 l_0_0 = {"en_US", "de_DE", "es_ES", "es_MX", "fr_FR", "it_IT"} AVAILABLE_LOCALES = l_0_0 l_0_0 = {en_US = "Plants vs. Zombies\226\132\162", fr_FR = "Plantes contre Zombies\226\132\162", de_DE = "Pflanzen gegen Zombies\226\132\162", es_MX = "Plantas contra Zombis\226\132\162", es_ES = "Plantas contra Zombis\226\132\162", it_IT = "Piante contro Zombi\226\132\162"} TITLES = l_0_0 l_0_0 = {en_US = "Plants vs. Zombies", fr_FR = "Plantes contre Zombies", de_DE = "Pflanzen gegen Zombies", es_MX = "Plantas contra Zombis", es_ES = "Plantas contra Zombis", it_IT = "Piante contro Zombi"} ALT_TITLES = l_0_0 l_0_0 = {en_US = "102043", de_DE = "98379", es_ES = "98363", es_MX = "98363", fr_FR = "98377", it_IT = "98384"} ESTIMATED_SIZE = l_0_0 l_0_0 = {en_US = "readme.txt", de_DE = "readme.de.txt", es_ES = "L\195\169eme.txt", es_MX = "L\195\169eme.es-mex.txt", fr_FR = "lisezmoi.txt", it_IT = "Leggimi.it.txt"} README_FILE_NAMES = l_0_0 l_0_0 = {en_US = "Read Me", de_DE = "Readme", es_ES = "L\195\169eme", es_MX = "L\195\169eme", fr_FR = "LisezMoi", it_IT = "Leggimi"} README_LINK_NAMES = l_0_0 l_0_0 = {en_US = "en_US_eula.rtf", de_DE = "de_DE_eula.rtf", es_ES = "es_ES_eula.rtf", es_MX = "es_MX_eula.rtf", fr_FR = "fr_FR_eula.rtf", it_IT = "it_IT_eula.rtf"} EULA_FILE_NAMES = l_0_0 l_0_0 = {en_US = "Plants vs. Zombies End User License Agreement", de_DE = "Pflanzen gegen Zombies Endbenutzer-Lizenzvertrag", es_ES = "Acuerdo de licencia de usuario final de Plantas contra Zombis", es_MX = "Acuerdo de licencia de usuario final de Plantas contra Zombis", fr_FR = "Contrat de licence utilisateur final Plantes contre Zombies", it_IT = "Accordo di licenza con l'utente finale di Piante contro Zombi"} EULA_LINK_NAMES = l_0_0 l_0_0 = {en_US = "Technical Support", de_DE = "Kundendienst", es_ES = "Servicio t\195\169cnico", es_MX = "Asistencia T\195\169cnica", fr_FR = "Assistance technique", it_IT = "Supporto tecnico"} TECH_SUPPORT_LINK_NAMES = l_0_0 l_0_0 = {en_US = "Technical Support.en_US.rtf", de_DE = "Kundendienst.rtf", es_ES = "Servicio t\195\169cnico.rtf", es_MX = "Asistencia T\195\169cnica.rtf", fr_FR = "Assistance technique.rtf", it_IT = "Supporto tecnico.rtf"} EA_HELP_FILE_NAMES = l_0_0 local l_0_1 = {} l_0_1.en_US = "DirectX Setup Error: The setup program could not find the working directory." l_0_1.fr_FR = "Erreur de configuration DirectX\194\160: le programme de configuration n'a pas r\195\169ussi \195\160 trouver le r\195\169pertoire valide." l_0_1.de_DE = "Fehler DirectX Setup: Das Setup-Programm konnte das Arbeitsverzeichnis nicht finden." l_0_1.es_MX = "Error al instalar DirectX: El programa de instalaci\195\179n no pudo encontrar el directorio de trabajo." l_0_1.es_ES = "Error de la instalaci\195\179n de DirectX: el programa de instalaci\195\179n no pudo encontrar el directorio de trabajo." l_0_1.it_IT = "Errore nell'installazione di DirectX: il programma di installazione non ha trovato la directory di lavoro." l_0_1 = {en_US = "DirectX Setup Error: An internal error occurred.", fr_FR = "Erreur de configuration DirectX\194\160: une erreur interne est survenue.", de_DE = "Fehler DirectX Setup: Ein interner Fehler ist aufgetreten.", es_MX = "Error al instalar DirectX: Se produjo un error interno.", es_ES = "Error de la instalaci\195\179n de DirectX: se produjo un error interno.", it_IT = "Errore nell'installazione di DirectX: si \195\168 verificato un errore interno."} l_0_1 = {en_US = "Install PunkBuster", fr_FR = "Installer PunkBuster", de_DE = "PunkBuster installieren", es_MX = "Instalar PunkBuster", es_ES = "Instalar PunkBuster", it_IT = "Installa PunkBuster"} l_0_1 = {en_US = "DirectX Setup Error: One of the required source files could not be found.", fr_FR = "Erreur de configuration DirectX\194\160: impossible de trouver un des fichiers sources n\195\169cessaires.", de_DE = "Fehler DirectX Setup: Eine der ben\195\182tigten Quelldateien konnte nicht gefunden werden.", es_MX = "Error al instalar DirectX: No se pudo encontrar uno de los archivos fuente necesarios.", es_ES = "Error de la instalaci\195\179n de DirectX: no se pudo encontrar uno de los archivos fuente necesarios.", it_IT = "Errore nell'installazione di DirectX: impossibile trovare uno dei file di origine richiesti."} l_0_1 = {en_US = "DirectX Setup Error: Microsoft DirectX does not support the version of Microsoft Windows on the computer.", fr_FR = "Erreur de configuration DirectX\194\160: DirectX de Microsoft n'est pas compatible avec la version Windows de Microsoft install\195\169e sur l'ordinateur.", de_DE = "Fehler DirectX Setup: Microsoft DirectX unterst\195\188tzt die Version von Microsoft Windows auf dem Computer nicht. ", es_MX = "Error al instalar DirectX: Microsoft DirectX no es compatible con la versi\195\179n de Microsoft Windows de la computadora.", es_ES = "Error de la instalaci\195\179n de DirectX: Microsoft DirectX no admite la versi\195\179n de Microsoft Windows de este equipo.", it_IT = "Errore nell'installazione di DirectX: Microsoft DirectX non supporta la versione di Microsoft Windows installata su questo computer."} l_0_1 = {en_US = "DirectX Setup Error: The setup program ran out of disk space during installation.", fr_FR = "Erreur de configuration DirectX\194\160: espace disque insuffisant pendant l'installation pour le programme de configuration.", de_DE = "Fehler DirectX Setup: Das Setup-Programm hatte w\195\164hrend der Installation nicht gen\195\188gend Festplattenplatz.", es_MX = "Error al instalar DirectX: El programa de instalaci\195\179n se qued\195\179 sin espacio en disco durante la instalaci\195\179n.", es_ES = "Error de la instalaci\195\179n de DirectX: el programa de instalaci\195\179n se ha quedado sin espacio en el disco durante la instalaci\195\179n.", it_IT = "Errore nell'installazione di DirectX: spazio su disco insufficiente durante l'installazione."} l_0_1 = {en_US = "DirectX Setup Error: A required information (.inf) file could not be found.", fr_FR = "Erreur de configuration DirectX\194\160: impossible de trouver le fichier d'information (.inf) n\195\169cessaire.", de_DE = "Fehler DirectX Setup: Eine ben\195\182tigte information (.inf)-Datei konnte nicht gefunden werden.", es_MX = "Error al instalar DirectX: No se pudo encontrar el archivo de informaci\195\179n (.inf).", es_ES = "Error de la instalaci\195\179n de DirectX: no se pudo encontrar un archivo de informaci\195\179n (.inf) necesario.", it_IT = "Errore nell'installazione di DirectX: impossibile trovare un file informazioni (.inf) necessario."} l_0_1 = {en_US = "DirectX Setup Error: A file's version could not be verified or was incorrect.", fr_FR = "Erreur de configuration DirectX\194\160: impossible de v\195\169rifier ou de valider la version du fichier.", de_DE = "Fehler DirectX Setup: Die Version einer Datei konnte nicht verifiziert werden oder war nicht korrekt.", es_MX = "Error al instalar DirectX: No se pudo verificar la versi\195\179n de un archivo o era incorrecta.", es_ES = "Error de la instalaci\195\179n de DirectX: no se pudo comprobar la versi\195\179n del archivo o este es incorrecto.", it_IT = "Errore nell'installazione di DirectX: la versione di un file non \195\168 verificabile o non \195\168 corretta."} l_0_1 = {en_US = "Microsoft Visual C++ 2008 Runtime With SP1 Agreement", fr_FR = "Contrat de runtime Microsoft Visual C++ 2008 avec SP1", de_DE = "Microsoft Visual C++ 2008-Runtime/SP1-Lizenz", es_MX = "Acuerdo del tiempo de ejecuci\195\179n con SP1 para Microsoft Visual C++ 2008", es_ES = "Acuerdo de tiempo de ejecuci\195\179n de Microsoft Visual C++ 2008 con SP1", it_IT = "Accordo di Microsoft Visual C++ 2008 Runtime con SP1"} l_0_1 = {en_US = "Error: A redistributable package (%s) was not installed successfully. Setup cannot continue.", fr_FR = "Erreur: le package redistribuable (%s) n'a pas \195\169t\195\169 install\195\169 avec succ\195\168s. Impossible de poursuivre la configuration.", de_DE = "Fehler: Ein Redistributable Package (%s) wurde nicht erfolgreich installiert. Der Setup-Vorgang kann nicht fortgesetzt werden.", es_MX = "Error: El paquete redistribuible (%s) no se instal\195\179 correctamente. No se puede continuar con la instalaci\195\179n.", es_ES = "Error: un paquete de distribuci\195\179n (%s) no se ha instalado correctamente. La instalaci\195\179n no puede continuar.", it_IT = "Errore: un pacchetto ridistribuibile (%s) non \195\168 stato installato correttamente. Impossibile procedere con l'installazione."} l_0_1 = {en_US = "(%s) End User License Agreement", fr_FR = "Contrat de licence utilisateur final (%s)", de_DE = "(%s) Endbenutzer-Lizenzvertrag", es_MX = "Acuerdo de licencia de usuario final de (%s)", es_ES = "Acuerdo de licencia de usuario final de (%s)", it_IT = "Accordo di licenza con l'utente finale di (%s)"} l_0_1 = {en_US = "DirectX Setup Error: The cabinet (.cab) file is not signed.", fr_FR = "Erreur de configuration DirectX\194\160: le fichier cabinet (.cab) n'est pas enregistr\195\169.", de_DE = "Fehler DirectX Setup: Die cabinet (.cab)-Datei ist nicht signiert.", es_MX = "Error al instalar DirectX: El archivo cabinet (.cab) no tiene firma digital.", es_ES = "Error de la instalaci\195\179n de DirectX: el archivo contenedor (.cab) no est\195\161 firmado.", it_IT = "Errore nell'installazione di DirectX: il file cabinet (.cab) \195\168 sprovvisto di firma."} l_0_1 = {en_US = "DirectX Setup Error: DirectX setup cannot be completed because some components are currently in use. Please restart your computer and try again.", fr_FR = "Erreur de configuration DirectX\194\160: impossible de terminer la configuration DirectX car certains des \195\169l\195\169ments sont actuellement utilis\195\169s. Veuillez red\195\169marrer votre ordinateur et r\195\169essayer.", de_DE = "Fehler DirectX Setup: Der DirectX Setup konnte nicht fertiggestellt werden, weil einige Komponenten momentan benutzt werden. Bitte starte deinen Computer neu und versuche es noch einmal.", es_MX = "Error al instalar DirectX: No es posible completar la instalaci\195\179n de DirectX ya que se est\195\161n usando ahora mismo algunos componentes. Reinicia tu computadora y vuelve a intentarlo.", es_ES = "Error de la instalaci\195\179n de DirectX: no se pudo completar la instalaci\195\179n de DirectX porque haya algunos componentes que est\195\161n actualmente en uso. Reinicia el equipo e int\195\169ntalo de nuevo.", it_IT = "Errore nell'installazione di DirectX: impossibile completare l'installazione di DirectX perch\195\169 alcuni componenti sono attualmente in uso. Riavviare il computer e riprovare."} l_0_1 = {en_US = "Removing %s", fr_FR = "Suppression de %s", de_DE = "%s wird entfernt", es_MX = "Eliminando %s", es_ES = "Quitando %s", it_IT = "Rimozione di %s"} l_0_1 = {en_US = "Microsoft Visual C++ 2005 Runtime Agreement", fr_FR = "Contrat de runtime Microsoft Visual C++ 2005", de_DE = "Microsoft Visual C++ 2005-Runtime-Lizenz", es_MX = "Acuerdo del tiempo de ejecuci\195\179n para Microsoft Visual C++ 2005", es_ES = "Acuerdo de tiempo de ejecuci\195\179n de Microsoft Visual C++ 2005", it_IT = "Accordo di Microsoft Visual C++ 2005 Runtime"} l_0_1 = {en_US = "readme", fr_FR = "lisezmoi", de_DE = "readme.de", es_MX = "L\195\169eme.es-mex", es_ES = "L\195\169eme", it_IT = "Leggimi.it"} l_0_1 = {en_US = "Read Me", fr_FR = "LisezMoi", de_DE = "Readme", es_MX = "L\195\169eme", es_ES = "L\195\169eme", it_IT = "Leggimi"} l_0_1 = {en_US = "Microsoft Visual C++ 2005 Runtime With SP1 Agreement", fr_FR = "Contrat de runtime Microsoft Visual C++ 2005 avec SP1", de_DE = "Microsoft Visual C++ 2005-Runtime/SP1-Lizenz", es_MX = "Acuerdo del tiempo de ejecuci\195\179n con SP1 para Microsoft Visual C++ 2005", es_ES = "Acuerdo de tiempo de ejecuci\195\179n de Microsoft Visual C++ 2005 con SP1", it_IT = "Accordo di Microsoft Visual C++ 2005 Runtime con SP1"} l_0_1 = {en_US = "You need to have PunkBuster installed in order to play online on ranked servers. Are you sure you want to skip installation of PunkBuster?", fr_FR = "Vous devez avoir PunkBuster install\195\169 afin de pouvoir jouer en ligne sur les serveurs avec classement. Voulez-vous vraiment ne pas installer PunkBuster ?", de_DE = "PunkBuster mu\195\159 installiert sein, um online auf den Ranglisten Servern zu spielen. Sind Sie sicher, da\195\159 Sie die Installation von PunkBuster \195\188berspringen m\195\182chten?", es_MX = "You need to have PunkBuster installed in order to play online on ranked servers. Are you sure you want to skip installation of PunkBuster?", es_ES = "Necesitas tener PunkBuster instalado para poder jugar en servidores clasificados. \194\191Est\195\161s seguro de que quieres omitir la instalaci\195\179n de PunkBuster? ", it_IT = "\195\136 necessario avere PunkBuster installato per poter giocare online su server classificati. Sei sicuro di voler abbandonare l\226\128\153installazione di PunkBuster? "} l_0_1 = {en_US = "Uninstall of %s was cancelled.", fr_FR = "La d\195\169sinstallation de %s a \195\169t\195\169 annul\195\169e.", de_DE = "Deinstallation von %s wurde abgebrochen.", es_MX = "La desinstalaci\195\179n de %s fue cancelada.", es_ES = "Se ha cancelado la desinstalaci\195\179n de %s.", it_IT = "La disinstallazione di %s \195\168 stata annullata."} l_0_1 = {en_US = "Error: The PhysX runtime redistributable package was not installed successfully. Setup cannot continue.", fr_FR = "Erreur\194\160: le package redistribuable de l'application d'ex\195\169cution PhysX n'a pas \195\169t\195\169 install\195\169 avec succ\195\168s. Impossible de poursuivre la configuration.", de_DE = "Fehler: Das Redistributable Package mit PhysX-Laufzeitkomponenten wurde nicht erfolgreich installiert. Der Setup-Vorgang kann nicht fortgesetzt", es_MX = "Error: El paquete redistribuible PhysX no se instal\195\179 correctamente. No se puede continuar con la instalaci\195\179n.", es_ES = "Error: el paquete de distribuci\195\179n de ejecuci\195\179n de PhysX no se ha instalado correctamente. La instalaci\195\179n no puede continuar.", it_IT = "Errore: il pacchetto ridistribuibile del runtime di PhysX non \195\168 stato installato correttamente. Impossibile procedere con l'installazione."} l_0_1 = {en_US = "All add-ons and bonuses in the game installation directory will be removed. Are you sure you want to uninstall %s?", fr_FR = "Tous les contenus et bonus seront supprim\195\169s. Voulez-vous vraiment d\195\169sinstaller %s\194\160?", de_DE = "Alle Erweiterungen und Boni werden entfernt. M\195\182chtest du %s wirklich deinstallieren?", es_MX = "Todos los complementos y bonificaciones ser\195\161n eliminados. \194\191Est\195\161s seguro que quieres desinstalar %s?", es_ES = "Se eliminar\195\161n todos los complementos y bonificaciones. \194\191Seguro que quieres desinstalar %s?", it_IT = "Tutti gli add-on e bonus verranno rimossi. Sei sicuro di voler disinstallare %s?"} l_0_1 = {en_US = "Microsoft .NET Framework 4 Agreement", fr_FR = "Contrat Microsoft .NET Framework 4", de_DE = "Microsoft .NET Framework 4-Lizenz", es_MX = "Acuerdo de Microsoft .NET Framework 4", es_ES = "Acuerdo de Microsoft .NET Framework 4", it_IT = "Accordo di Microsoft .NET Framework 4"} l_0_1 = {en_US = "Error: The VC++ runtime redistributable package was not installed successfully. Setup cannot continue.", fr_FR = "Erreur: le package redistribuable de l'application d'ex\195\169cution VC++ n'a pas \195\169t\195\169 install\195\169 avec succ\195\168s. Impossible de poursuivre la configuration.", de_DE = "Fehler: Das Redistributable Package mit Visual C++-Laufzeitkomponenten wurde nicht erfolgreich installiert. Der Setup-Vorgang kann nicht fortgesetzt", es_MX = "Error: El paquete redistribuible VC++ no se instal\195\179 correctamente. No se puede continuar con la instalaci\195\179n.", es_ES = "Error: el paquete de distribuci\195\179n de ejecuci\195\179n de VC++ no se ha instalado correctamente. La instalaci\195\179n no puede continuar.", it_IT = "Errore: il pacchetto ridistribuibile del runtime di VC++ non \195\168 stato installato correttamente. Impossibile procedere con l'installazione."} l_0_0 = {directx_failure_8 = l_0_1, directx_failure_9 = l_0_1, punkbuster_install_title = l_0_1, directx_failure_2 = l_0_1, directx_failure_1 = l_0_1, directx_failure_6 = l_0_1, directx_failure_7 = l_0_1, directx_failure_5 = l_0_1, vc2008sp1 = l_0_1, generic_redist_failure = l_0_1, GAME_EULA = l_0_1, directx_failure_21 = l_0_1, directx_failure_20 = l_0_1, removing_game = l_0_1, vc2005 = l_0_1, readme_txt_root = l_0_1, readme = l_0_1, vc2005sp1 = l_0_1, punkbuster_dialog = l_0_1, uninstall_cancelled = l_0_1, physx_redist_failure = l_0_1, uninstall_confirm_with_dlcs = l_0_1, dotnet4 = l_0_1, vc_redist_failure = l_0_1} l_0_1 = {en_US = "All add-ons, bonuses, and files in the game installation directory will be removed. Are you sure you want to uninstall %s?", fr_FR = "Tous les contenus, bonus et fichiers du r\195\169pertoire d'installation du jeu seront supprim\195\169s. Voulez-vous vraiment d\195\169sinstaller %s\194\160?", de_DE = "Alle Erweiterungen, Boni und Dateien im Spielinstallationsverzeichnis werden entfernt. %s wirklich deinstallieren?", es_MX = "Todos los complementos, bonificaciones y archivos en el directorio de instalaci\195\179n del juego ser\195\161n eliminados. \194\191Est\195\161s seguro de que quieres desinstalar %s?", es_ES = "Se eliminar\195\161n todos los complementos, bonificaciones y archivos del directorio de instalaci\195\179n del juego. \194\191Seguro que quieres desinstalar %s?", it_IT = "Tutti gli add-on, i bonus e i file presenti nella cartella di installazione del gioco saranno rimossi. Vuoi davvero disinstallare %s?"} l_0_0.uninstall_confirm_all_files = l_0_1 l_0_1 = {en_US = "The following applications should be closed before continuing the install/uninstall:", fr_FR = "Fermez les applications suivantes avant de poursuivre l'installation/la d\195\169sinstallation\194\160:", de_DE = "Die folgenden Anwendungen sollten beendet werden, bevor die Installation/Deinstallation fortgesetzt wird:", es_MX = "Las siguientes aplicaciones deber\195\161n cerrarse antes de continuar la instalaci\195\179n/desinstalaci\195\179n:", es_ES = "Antes de continuar con la instalaci\195\179n/desinstalaci\195\179n hay que cerrar las siguientes aplicaciones:", it_IT = "Le seguenti applicazioni dovrebbero essere chiuse prima di continuare l'installazione o la disinstallazione:"} l_0_0.close_these_app_first = l_0_1 l_0_1 = "vc2008sp1AtlUpdate" local l_0_2 = {} l_0_2.en_US = "Microsoft Visual C++ 2008 Runtime With SP1 Agreement" l_0_2.fr_FR = "Contrat de runtime Microsoft Visual C++ 2008 avec SP1" l_0_2.de_DE = "Microsoft Visual C++ 2008-Runtime/SP1-Lizenz" l_0_2.es_MX = "Acuerdo del tiempo de ejecuci\195\179n con SP1 para Microsoft Visual C++ 2008" l_0_2.es_ES = "Acuerdo de tiempo de ejecuci\195\179n de Microsoft Visual C++ 2008 con SP1" l_0_2.it_IT = "Accordo di Microsoft Visual C++ 2008 Runtime con SP1" l_0_0[l_0_1] = l_0_2 l_0_1 = "vc2010sp1" l_0_2 = {en_US = "Microsoft Visual C++ 2010 Runtime With SP1 Agreement", fr_FR = "Contrat de runtime Microsoft Visual C++ 2010 avec SP1", de_DE = "Microsoft Visual C++ 2010-Runtime/SP1-Lizenz", es_MX = "Acuerdo del tiempo de ejecuci\195\179n con SP1 para Microsoft Visual C++ 2010", es_ES = "Acuerdo de tiempo de ejecuci\195\179n de Microsoft Visual C++ 2010 con SP1", it_IT = "Accordo di Microsoft Visual C++ 2010 Runtime con SP1"} l_0_0[l_0_1] = l_0_2 l_0_1 = "directx_failure_19" l_0_2 = {en_US = "DirectX Setup Error: The cabinet (.cab) file failed to load.", fr_FR = "Erreur de configuration DirectX\194\160: \195\169chec du chargement du fichier cabinet (.cab).", de_DE = "Fehler DirectX Setup: Die cabinet (.cab)-Datei konnte nicht geladen werden.", es_MX = "Error al instalar DirectX: No se pudo cargar el archivo cabinet (.cab).", es_ES = "Error de la instalaci\195\179n de DirectX: se produjo un error al cargar el archivo contenedor (.cab).", it_IT = "Errore nell'installazione di DirectX: impossibile caricare il file cabinet (.cab)."} l_0_0[l_0_1] = l_0_2 l_0_1 = "DIRECTX_EULA" l_0_2 = {en_US = "Microsoft DirectX End User Runtime Agreement", fr_FR = "Contrat de runtime utilisateur final Microsoft DirectX", de_DE = "Microsoft DirectX-Runtime-Endbenutzerlizenz", es_MX = "Acuerdo del tiempo de ejecuci\195\179n de usuario final de Microsoft DirectX", es_ES = "Acuerdo de tiempo de ejecuci\195\179n de usuario final de Microsoft DirectX", it_IT = "Accordo di Microsoft DirectX End-User Runtime"} l_0_0[l_0_1] = l_0_2 l_0_1 = "directx_failure_15" l_0_2 = {en_US = "DirectX Setup Error: The current user does not have administrative privileges. On Windows 2000, the user may need administrative privileges for some setup operations.", fr_FR = "Erreur de configuration DirectX\194\160: l'utilisateur actuel ne poss\195\168de pas les privil\195\168ges d'administrateur. Dans Windows 2000, l'utilisateur peut avoir besoin des privil\195\168ges d'administrateur pour certaines op\195\169rations d'installation.", de_DE = "Fehler DirectX Setup: Der aktuelle Benutzer hat keine Administratorrechte. Bei Windows 2000 ben\195\182tigt der Benutzer f\195\188r einige Setup-Vorg\195\164nge m\195\182glicherweise Administratorrechte.", es_MX = "Error al instalar DirectX: El usuario actual no cuenta con privilegios de administrador. En Windows 2000, el usuario posiblemente necesite privilegios de administrador para algunas operaciones de instalaci\195\179n.", es_ES = "Error de la instalaci\195\179n de DirectX: el usuario actual no tiene privilegios de administrador. En Windows 2000 el usuario pude necesitar privilegios de administrador para realizar algunas operaciones de instalaci\195\179n.", it_IT = "Errore nell'installazione di DirectX: l'utente attualmente connesso non dispone dei privilegi di amministratore. In Windows 2000 alcune operazioni di installazione possono richiedere i privilegi di amministratore."} l_0_0[l_0_1] = l_0_2 l_0_1 = "uninstall_confirm" l_0_2 = {en_US = "Are you sure you want to uninstall %s?", fr_FR = "Voulez-vous vraiment d\195\169sinstaller %s\194\160?", de_DE = "Willst du %s wirklich deinstallieren?", es_MX = "\194\191De verdad quieres desinstalar %s?", es_ES = "\194\191Seguro que quieres desinstalar %s?", it_IT = "Vuoi davvero disinstallare %s?"} l_0_0[l_0_1] = l_0_2 l_0_1 = "dotnet35sp1" l_0_2 = {en_US = "Microsoft .NET Framework 3.5 SP1 Agreement", fr_FR = "Contrat Microsoft .NET Framework 3.5 SP1", de_DE = "Microsoft .NET Framework 3.5 SP1-Lizenz", es_MX = "Acuerdo de Microsoft .NET Framework 3.5 SP1", es_ES = "Acuerdo de Microsoft .NET Framework 3.5 SP1", it_IT = "Accordo di Microsoft .NET Framework 3.5 SP1"} l_0_0[l_0_1] = l_0_2 l_0_1 = "tech_support" l_0_2 = {en_US = "Technical Support", fr_FR = "Assistance technique", de_DE = "Kundendienst", es_MX = "Asistencia T\195\169cnica", es_ES = "Servicio t\195\169cnico", it_IT = "Supporto tecnico"} l_0_0[l_0_1] = l_0_2 l_0_1 = "PHYSX_EULA" l_0_2 = {en_US = "NVIDIA PhysX Driver End User License Agreement", fr_FR = "Contrat de licence utilisateur final du pilote NVIDIA PhysX", de_DE = "NVIDIA PhysX-Treiber-Endbenutzerlizenz", es_MX = "Contrato de Licencia para el Usuario Final de NVIDIA PhysX Driver", es_ES = "Acuerdo de licencia de usuario final del controlador NVIDIA PhysX", it_IT = "Accordo di licenza con l'utente finale dei driver NVIDIA PhysX"} l_0_0[l_0_1] = l_0_2 l_0_1 = "dotnet_redist_failure" l_0_2 = {en_US = "Error: The .Net Framework redistributable package was not installed successfully. Setup cannot continue.", fr_FR = "Erreur\194\160: le package redistribuable .Net Framework n'a pas \195\169t\195\169 install\195\169 avec succ\195\168s. Impossible de poursuivre la configuration.", de_DE = "Fehler: .Net Framework Redistributable Package wurde nicht erfolgreich installiert. Der Setup-Vorgang kann nicht fortgesetzt werden.", es_MX = "Error: El paquete redistribuible .Net Framewok no se instal\195\179 correctamente. No se puede continuar con la instalaci\195\179n.", es_ES = "Error: el paquete de distribuci\195\179n de .Net Framework no se ha instalado correctamente. La instalaci\195\179n no puede continuar.", it_IT = "Errore: il pacchetto ridistribuibile di .Net Framework non \195\168 stato installato correttamente. Impossibile procedere con l'installazione."} l_0_0[l_0_1] = l_0_2 l_0_1 = "PUNKBUSTER_EULA" l_0_2 = {en_US = "PunkBuster End User License Agreement", fr_FR = "Contrat de licence utilisateur final PunkBuster", de_DE = "PunkBuster-Endbenutzerlizenz", es_MX = "Contrato de Licencia para el Usuario Final de PunkBuster", es_ES = "Acuerdo de licencia de usuario final de PunkBuster", it_IT = "Accordo di licenza con l'utente finale di PunkBuster"} l_0_0[l_0_1] = l_0_2 l_0_1 = "tech_support_filename_root" l_0_2 = {en_US = "Technical Support.en_US", fr_FR = "Assistance technique", de_DE = "Kundendienst", es_MX = "Asistencia T\195\169cnica", es_ES = "Servicio t\195\169cnico", it_IT = "Supporto tecnico"} l_0_0[l_0_1] = l_0_2 l_0_1 = "directx_failure_11" l_0_2 = {en_US = "DirectX Setup Error: The operating system is unknown.", fr_FR = "Erreur de configuration DirectX\194\160: le syst\195\168me d'exploitation est inconnu.", de_DE = "Fehler DirectX Setup: Das Betriebssystem ist unbekannt.", es_MX = "Error al instalar DirectX: El sistema operativo es desconocido.", es_ES = "Error de la instalaci\195\179n de DirectX: el sistema operativo es desconocido.", it_IT = "Errore nell'installazione di DirectX: sistema operativo sconosciuto."} l_0_0[l_0_1] = l_0_2 l_0_1 = "directx_failure_16" l_0_2 = {en_US = "DirectX Setup Error: The processor type is unsupported. DirectX supports only Intel Pentium, AMD K6, and compatible processors with equivalent or higher performance.", fr_FR = "Erreur de configuration DirectX\194\160: le type de processeur n'est pas compatible. DirectX est compatible uniquement avec les processeurs Intel Pentium, AMD K6 et ceux aux performances \195\169quivalentes ou sup\195\169rieures.", de_DE = "Fehler DirectX Setup: Der Prozessortyp wird nicht unterst\195\188tzt. DirectX unterst\195\188tzt nur Intel Pentium, AMD K6 und kompatible Prozessoren mit gleichwertiger oder h\195\182herer Leistung.", es_MX = "Error al instalar DirectX: El tipo de procesador no es compatible. DirectX es compatible \195\186nicamente con Intel Pentium, AMD K6 y procesadores compatibles de rendimiento equivalente o superior.", es_ES = "Error de la instalaci\195\179n de DirectX: no se admite el tipo de procesador. DirectX solo admite Intel Pentium, AMD K6 y los procesadores compatibles con un rendimiento equivalente o superior.", it_IT = "Errore nell'installazione di DirectX: il tipo di processore non \195\168 supportato. DirectX supporta esclusivamente Intel Pentium, AMD K6 e processori compatibili con prestazioni equivalenti o superiori."} l_0_0[l_0_1] = l_0_2 l_0_1 = "vc2010" l_0_2 = {en_US = "Microsoft Visual C++ 2010 Runtime Agreement", fr_FR = "Contrat de runtime Microsoft Visual C++ 2010", de_DE = "Microsoft Visual C++ 2010-Runtime-Lizenz", es_MX = "Acuerdo del tiempo de ejecuci\195\179n para Microsoft Visual C++ 2010", es_ES = "Acuerdo de tiempo de ejecuci\195\179n de Microsoft Visual C++ 2010", it_IT = "Accordo di Microsoft Visual C++ 2010 Runtime"} l_0_0[l_0_1] = l_0_2 LOCALIZATION_DATA = l_0_0 l_0_0 = function(l_1_0) if LOCALIZATION_DATA[l_1_0] == nil then inst.LogMessage("Localization string " .. l_1_0 .. " not exists") return "" else if LOCALIZATION_DATA[l_1_0][LOCALE] == nil then inst.LogMessage("Localization string " .. l_1_0 .. " for locale " .. LOCALE .. " not exists") return "" else return LOCALIZATION_DATA[l_1_0][LOCALE] end end end touchup_GetLocalizedString = l_0_0 l_0_0 = function() if LOCALE == nil then LOCALE = AVAILABLE_LOCALES[1] inst.UpdateConfigLocale(LOCALE) else localeInAvailableList = 0 for l_2_3 = 1, table.getn(AVAILABLE_LOCALES) do if AVAILABLE_LOCALES[l_2_3] == LOCALE then localeInAvailableList = 1 else end end if localeInAvailableList == 0 then LOCALE = AVAILABLE_LOCALES[1] inst.UpdateConfigLocale(LOCALE) end end DISPLAY_NAME = TITLES[LOCALE] isInstalled = touchup_IsInstalled() if isInstalled == 1 then inst.LogMessage("Game has been previously installed. Retrieving installed info.") INSTALL_LOCATION = inst.GetRegKeyString("HKLM", "Software\\" .. STUDIO .. "\\" .. DEFAULT_TITLE_NAME, "Install Dir") LOCALE = inst.GetRegKeyString("HKLM", "Software\\" .. STUDIO .. "\\" .. DEFAULT_TITLE_NAME, "Locale") DISPLAY_NAME = inst.GetRegKeyString("HKLM", "Software\\" .. STUDIO .. "\\" .. DEFAULT_TITLE_NAME, "DisplayName") inst.LogMessage("Game (" .. DISPLAY_NAME .. ") with locale (" .. LOCALE .. ") previously installed at " .. INSTALL_LOCATION) inst.UpdateConfigLocale(LOCALE) inst.UpdateConfigInstallLocation(INSTALL_LOCATION) end inst.UpdateConfigStudioName(STUDIO) inst.UpdateConfigDefaultGameName(DEFAULT_TITLE_NAME) inst.UpdateConfigDisplayGameName(DISPLAY_NAME) inst.UpdateForceUninstallAllFiles(0) inst.FlushLogMessage() return 0 end touchup_UpdateConfigWithProjectInfo = l_0_0 l_0_0 = function() regkeyexist = inst.IsRegKeyStringExist("HKLM", "Software\\" .. STUDIO .. "\\" .. DEFAULT_TITLE_NAME, "Install Dir") if regkeyexist then installPath = inst.GetRegKeyString("HKLM", "Software\\" .. STUDIO .. "\\" .. DEFAULT_TITLE_NAME, "Install Dir") exePath = installPath .. PRODUCT_EXECUTABLE_NAME if inst.IsFileExists(exePath) then inst.LogMessage("Game already installed to: " .. exePath) return 1 else inst.LogMessage("Game program missing. Game not yet installed.") return 0 end else inst.LogMessage("Installation registry missing. Game not yet installed.") return 0 end end end touchup_IsInstalled = l_0_0 l_0_0 = function() if inst.GameHasInstalledDLC() then inst.LogMessage("There are DLC installed for this game.") return 1 else inst.LogMessage("No DLC has been installed for this game.") return 0 end end touchup_GameHasInstalledDLC = l_0_0 l_0_0 = function() inst.LogMessage("Calling touchup_SetUninstallRegKey") cleanupexedestpath = inst.GetSpecialFolderName("CSIDL_PROGRAM_FILES_COMMON", "EAInstaller\\" .. DEFAULT_TITLE_NAME .. "\\Cleanup.exe") inst.SetRegKeyString("HKLM", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" .. PRODUCT_CODE, "DisplayName", DISPLAY_NAME) inst.SetRegKeyString("HKLM", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" .. PRODUCT_CODE, "DisplayVersion", VERSION) inst.SetRegKeyString("HKLM", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" .. PRODUCT_CODE, "DisplayIcon", "\"" .. INSTALL_LOCATION .. PRODUCT_ICON .. "\"") inst.SetRegKeyString("HKLM", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" .. PRODUCT_CODE, "UninstallString", "\"" .. cleanupexedestpath .. "\" uninstall_game -autologging -keepMaintenanceLog") inst.SetRegKeyString("HKLM", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" .. PRODUCT_CODE, "InstallLocation", INSTALL_LOCATION) inst.SetRegKeyString("HKLM", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" .. PRODUCT_CODE, "Publisher", PUBLISHER[LOCALE]) inst.SetRegKeyString("HKLM", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" .. PRODUCT_CODE, "URLInfoAbout", PUBLISHER_URIS[LOCALE]) inst.SetRegKeyInt("HKLM", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" .. PRODUCT_CODE, "EstimatedSize", ESTIMATED_SIZE[LOCALE]) if inst.IsFileExists(INSTALL_LOCATION .. "Support\\EA Help\\" .. EA_HELP_FILE_NAMES[LOCALE]) then inst.SetRegKeyString("HKLM", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" .. PRODUCT_CODE, "HelpLink", INSTALL_LOCATION .. "Support\\EA Help\\" .. EA_HELP_FILE_NAMES[LOCALE]) end if inst.IsFileExists(INSTALL_LOCATION .. "Support\\readme\\" .. README_FILE_NAMES[LOCALE]) then inst.CreateShortcut("Support\\readme\\", README_FILE_NAMES[LOCALE], README_LINK_NAMES[LOCALE], INSTALL_LOCATION .. "Support", INSTALL_LOCATION, ALT_TITLES[LOCALE]) inst.SetRegKeyString("HKLM", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" .. PRODUCT_CODE, "Readme", INSTALL_LOCATION .. "Support\\" .. README_LINK_NAMES[LOCALE] .. ".lnk") end end touchup_SetUninstallRegKey = l_0_0 l_0_0 = function() redist_install_requires_reboot = 0 inst.LogMessage("Start redistributables install phase") inst.FlushLogMessage() inst.OpenProgressMessagePipe() inst.UpdateProgress(5, "Reading and parsing install script") inst.LogMessage("Installing DirectX") inst.UpdateProgress(20, "Installing DirectX") runexitcode = inst.Run("directx\\redist\\dxsetup.exe", "/silent") if runexitcode == 1 then inst.LogMessage("DirectX requested system reboot later on!") redist_install_requires_reboot = 1 elseif runexitcode == 0 then inst.LogMessage("Successfully installed DirectX runtime.") else inst.LogMessage("Error installing DirectX runtime. Please check DirectX install log file typically in C:\\Windows\\Logs\\DirectX.log.") msgStr = string.format(LOCALIZATION_DATA.generic_redist_failure[LOCALE], "DirectX") .. " (" .. tostring(runexitcode) .. ")" if runexitcode == -1 then msgStr = LOCALIZATION_DATA.directx_failure_1[LOCALE] elseif runexitcode == -2 then msgStr = LOCALIZATION_DATA.directx_failure_2[LOCALE] elseif runexitcode == -5 then msgStr = LOCALIZATION_DATA.directx_failure_5[LOCALE] elseif runexitcode == -6 then msgStr = LOCALIZATION_DATA.directx_failure_6[LOCALE] elseif runexitcode == -7 then msgStr = LOCALIZATION_DATA.directx_failure_7[LOCALE] elseif runexitcode == -8 then msgStr = LOCALIZATION_DATA.directx_failure_8[LOCALE] elseif runexitcode == -9 then msgStr = LOCALIZATION_DATA.directx_failure_9[LOCALE] elseif runexitcode == -11 then msgStr = LOCALIZATION_DATA.directx_failure_11[LOCALE] elseif runexitcode == -15 then msgStr = LOCALIZATION_DATA.directx_failure_15[LOCALE] elseif runexitcode == -16 then msgStr = LOCALIZATION_DATA.directx_failure_16[LOCALE] elseif runexitcode == -19 then msgStr = LOCALIZATION_DATA.directx_failure_19[LOCALE] elseif runexitcode == -20 then msgStr = LOCALIZATION_DATA.directx_failure_20[LOCALE] elseif runexitcode == -21 then msgStr = LOCALIZATION_DATA.directx_failure_21[LOCALE] end inst.OKMessageBox(DISPLAY_NAME, msgStr) return 1 end inst.LogMessage("End of redistributables install phase") inst.FlushLogMessage() inst.UpdateProgress(5, "End of redistributables install phase") inst.LogMessage("Setting up uninstall data ... ") cleanupdestpath = inst.GetSpecialFolderName("CSIDL_PROGRAM_FILES_COMMON", "EAInstaller") inst.CreateFolder(cleanupdestpath, 1) cleanupexedestpath = inst.GetSpecialFolderName("CSIDL_PROGRAM_FILES_COMMON", "EAInstaller\\" .. DEFAULT_TITLE_NAME .. "\\Cleanup.exe") cleanupdatdestpath = inst.GetSpecialFolderName("CSIDL_PROGRAM_FILES_COMMON", "EAInstaller\\" .. DEFAULT_TITLE_NAME .. "\\Cleanup.dat") if not inst.CopyFile(INSTALL_LOCATION .. "__Installer\\Cleanup.exe", cleanupexedestpath, 1) then inst.LogMessage("Failed to install cleanup program") inst.FlushLogMessage() return 2 end if not inst.CopyFile(INSTALL_LOCATION .. "__Installer\\Cleanup.dat", cleanupdatdestpath, 1) then inst.LogMessage("Failed to install cleanup program") inst.FlushLogMessage() return 2 end inst.LogMessage("Installing GDF ... ") inst.FlushLogMessage() inst.UpdateProgress(10, "Installing GDF ... ") if not inst.InstallGDF2(INSTALL_LOCATION .. "GDFBinary_" .. LOCALE .. ".dll", INSTALL_LOCATION, "Software\\" .. STUDIO .. "\\" .. DEFAULT_TITLE_NAME, ALT_TITLES[LOCALE]) then inst.LogMessage("Failed to install GDF") inst.FlushLogMessage() return 3 else inst.LogMessage("Successfully installed GDF") backupGdfDll = inst.GetSpecialFolderName("CSIDL_PROGRAM_FILES_COMMON", "EAInstaller\\" .. DEFAULT_TITLE_NAME .. "\\Gdf.dll") inst.CopyFile(INSTALL_LOCATION .. "GDFBinary_" .. LOCALE .. ".dll", backupGdfDll, 1) end inst.LogMessage("Installing Firewall exception ... ") inst.FlushLogMessage() inst.UpdateProgress(5, "Installing Firewall exception ... ") if not inst.AddFirewallException(INSTALL_LOCATION .. PRODUCT_EXECUTABLE_NAME, DISPLAY_NAME) then inst.LogMessage("Failed to install Firewall exception") else inst.LogMessage("Successfully installed Firewall exception") end inst.FlushLogMessage() createDesktopShortcut = 0 createStartMenuShortcut = 0 if inst.IsWindowsXP() then createDesktopShortcut = 1 createStartMenuShortcut = 1 end inst.UpdateProgress(5, "Creating icons") if CREATE_DESKTOP_ICON == nil then inst.LogMessage("CREATE_DESKTOP_ICON is nil ... ") else createDesktopShortcut = tonumber(CREATE_DESKTOP_ICON) inst.LogMessage("Setting createDesktopShort switch ... ") if tonumber(CREATE_DESKTOP_ICON) == 1 then inst.LogMessage("CREATE_DESKTOP_ICON is 1") else if tonumber(CREATE_DESKTOP_ICON) == 0 then inst.LogMessage("CREATE_DESKTOP_ICON is 0") else inst.LogMessage("CREATE_DESKTOP_ICON is neither 1 nor 0.") inst.LogMessage("CREATE_DESKTOP_ICON = " .. CREATE_DESKTOP_ICON) end end end if CREATE_STARTMENU_ICON == nil then inst.LogMessage("CREATE_STARTMENU_ICON is nil ... ") else createStartMenuShortcut = tonumber(CREATE_STARTMENU_ICON) inst.LogMessage("Setting createDesktopShort switch ... ") if tonumber(CREATE_STARTMENU_ICON) == 1 then inst.LogMessage("CREATE_STARTMENU_ICON is 1") else if tonumber(CREATE_STARTMENU_ICON) == 0 then inst.LogMessage("CREATE_STARTMENU_ICON is 0") else inst.LogMessage("CREATE_STARTMENU_ICON is neither 1 nor 0.") inst.LogMessage("CREATE_STARTMENU_ICON = " .. CREATE_STARTMENU_ICON) end end end inst.UpdateProgress(5, "Creating shortcuts") if createDesktopShortcut == 1 then inst.LogMessage("Creating Desktop Shortcut ... ") inst.FlushLogMessage() inst.CreateShortcut("PlantsVsZombies.exe", "", ALT_TITLES[LOCALE], "DESKTOP", INSTALL_LOCATION, ALT_TITLES[LOCALE]) end if createStartMenuShortcut == 1 then inst.LogMessage("Creating Start Menu Shortcut ... ") inst.FlushLogMessage() inst.CreateShortcut("PlantsVsZombies.exe", "", ALT_TITLES[LOCALE], "STARTUP_MENU", INSTALL_LOCATION, ALT_TITLES[LOCALE]) if inst.IsFileExists(INSTALL_LOCATION .. "Support\\EA Help\\" .. EA_HELP_FILE_NAMES[LOCALE]) then inst.CreateShortcut("support\\EA Help\\", EA_HELP_FILE_NAMES[LOCALE], TECH_SUPPORT_LINK_NAMES[LOCALE], "STARTUP_MENU", INSTALL_LOCATION, ALT_TITLES[LOCALE]) end if inst.IsFileExists(INSTALL_LOCATION .. "Support\\readme\\" .. README_FILE_NAMES[LOCALE]) then inst.CreateShortcut("support\\readme\\", README_FILE_NAMES[LOCALE], README_LINK_NAMES[LOCALE], "STARTUP_MENU", INSTALL_LOCATION, ALT_TITLES[LOCALE]) end if inst.IsFileExists(INSTALL_LOCATION .. "Support\\eula\\" .. EULA_FILE_NAMES[LOCALE]) then inst.CreateShortcut("support\\eula\\", EULA_FILE_NAMES[LOCALE], EULA_LINK_NAMES[LOCALE], "STARTUP_MENU", INSTALL_LOCATION, ALT_TITLES[LOCALE]) end if LOCALE == "en_US" then inst.CreateShortcutWithArgument("" .. INSTALL_LOCATION .. "Plants vs. Zombies EN\\eula.rtf", "", "Plants vs. Zombies End User License Agreement", "", "STARTUP_MENU", "", ALT_TITLES[LOCALE]) inst.CreateShortcutWithArgument("" .. INSTALL_LOCATION .. "Plants vs. Zombies EN\\readme.html", "", "Read Me", "", "STARTUP_MENU", "", ALT_TITLES[LOCALE]) end if LOCALE == "de_DE" then inst.CreateShortcutWithArgument("" .. INSTALL_LOCATION .. "Plants vs. Zombies DE\\eula.rtf", "", "Pflanzen gegen Zombies Endbenutzer-Lizenzvertrag", "", "STARTUP_MENU", "", ALT_TITLES[LOCALE]) inst.CreateShortcutWithArgument("" .. INSTALL_LOCATION .. "Plants vs. Zombies DE\\liesmich.html", "", "Readme", "", "STARTUP_MENU", "", ALT_TITLES[LOCALE]) end if LOCALE == "es_ES" then inst.CreateShortcutWithArgument("" .. INSTALL_LOCATION .. "Plants vs. Zombies ES\\eula.rtf", "", "Acuerdo de licencia de usuario final de Plantas contra Zombis", "", "STARTUP_MENU", "", ALT_TITLES[LOCALE]) inst.CreateShortcutWithArgument("" .. INSTALL_LOCATION .. "Plants vs. Zombies ES\\leeme.html", "", "L\195\169eme", "", "STARTUP_MENU", "", ALT_TITLES[LOCALE]) end if LOCALE == "es_MX" then inst.CreateShortcutWithArgument("" .. INSTALL_LOCATION .. "Plants vs. Zombies ES\\eula.rtf", "", "Acuerdo de licencia de usuario final de Plantas contra Zombis", "", "STARTUP_MENU", "", ALT_TITLES[LOCALE]) inst.CreateShortcutWithArgument("" .. INSTALL_LOCATION .. "Plants vs. Zombies ES\\leeme.html", "", "L\195\169eme", "", "STARTUP_MENU", "", ALT_TITLES[LOCALE]) end if LOCALE == "fr_FR" then inst.CreateShortcutWithArgument("" .. INSTALL_LOCATION .. "Plants vs. Zombies FR\\eula.rtf", "", "Contrat de licence utilisateur final Plantes contre Zombies", "", "STARTUP_MENU", "", ALT_TITLES[LOCALE]) inst.CreateShortcutWithArgument("" .. INSTALL_LOCATION .. "Plants vs. Zombies FR\\Lisez-moi.html", "", "LisezMoi", "", "STARTUP_MENU", "", ALT_TITLES[LOCALE]) end if LOCALE == "it_IT" then inst.CreateShortcutWithArgument("" .. INSTALL_LOCATION .. "Plants vs. Zombies IT\\eula.rtf", "", "Accordo di licenza con l'utente finale di Piante contro Zombi", "", "STARTUP_MENU", "", ALT_TITLES[LOCALE]) inst.CreateShortcutWithArgument("" .. INSTALL_LOCATION .. "Plants vs. Zombies IT\\leggimi.html", "", "Leggimi", "", "STARTUP_MENU", "", ALT_TITLES[LOCALE]) end end inst.LogMessage("Setting up registry ... ") inst.FlushLogMessage() if inst.IsRegKeyStringExist("HKLM", "Software\\" .. STUDIO .. "\\" .. DEFAULT_TITLE_NAME, "Product GUID") then previous_GUID = inst.GetRegKeyString("HKLM", "Software\\" .. STUDIO .. "\\" .. DEFAULT_TITLE_NAME, "Product GUID") inst.LogMessage("Current Product GUID exist: " .. previous_GUID) inst.LogMessage("New product GUID: " .. PRODUCT_CODE) if previous_GUID ~= PRODUCT_CODE then inst.LogMessage("Updating to New product GUID: " .. PRODUCT_CODE) if inst.IsRegKeyStringExist("HKLM", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" .. previous_GUID, "DisplayName") then previous_displayname = inst.GetRegKeyString("HKLM", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" .. previous_GUID, "DisplayName") inst.LogMessage("Previous displayname: " .. previous_displayname) if previous_displayname == DISPLAY_NAME then inst.LogMessage("Updating Product GUID of the same game") inst.DelRegTree("HKLM", "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" .. previous_GUID) touchup_SetUninstallRegKey() else inst.LogMessage("Product GUID existed for other game, create new one ") touchup_SetUninstallRegKey() end else inst.LogMessage("No current DisplayName") touchup_SetUninstallRegKey() end else inst.LogMessage("Product GUID is not changed") touchup_SetUninstallRegKey() end else touchup_SetUninstallRegKey() end end end end inst.SetRegKeyString("HKLM", "Software\\Electronic Arts\\" .. DEFAULT_TITLE_NAME, "Uninstall Program", "\"" .. cleanupexedestpath .. "\"") inst.SetRegKeyString("HKLM", "Software\\Electronic Arts\\" .. DEFAULT_TITLE_NAME, "Uninstall Arguments", "uninstall_game -autologging -keepMaintenanceLog") inst.SetRegKeyString("HKLM", "Software\\" .. STUDIO .. "\\" .. DEFAULT_TITLE_NAME, "DisplayName", DISPLAY_NAME) inst.SetRegKeyString("HKLM", "Software\\" .. STUDIO .. "\\" .. DEFAULT_TITLE_NAME, "Locale", LOCALE) inst.SetRegKeyString("HKLM", "Software\\" .. STUDIO .. "\\" .. DEFAULT_TITLE_NAME, "Product GUID", PRODUCT_CODE) inst.SetRegKeyString("HKLM", "Software\\" .. STUDIO .. "\\" .. DEFAULT_TITLE_NAME, "Install Dir", INSTALL_LOCATION) inst.CloseProgressMessagePipe() if redist_install_requires_reboot == 1 then inst.LogMessage("Touchup returning 3010") inst.FlushLogMessage() return 3010 else return 0 end end touchup_install = l_0_0