2009-07-07 9 views
0

Je suis en train de créer un logiciel d'installation et, auparavant, j'utilise Inno Setup, et cela fonctionne très bien.édition du logiciel d'installation du logiciel

Le problème actuel que j'ai rencontré avec l'installation d'Inno est qu'il ne supporte pas toutes les langues pour l'interface utilisateur d'installation, par exemple le chinois simplifié. Le projet d'installation de VSTS 2008 prend en charge presque toutes les langues, mais il ne prend pas en charge l'appel d'un autre programme d'installation à partir du programme d'installation actuel pour permettre aux packages logiciels dépendants de l'installation de l'utilisateur final.

Mon programme de publication est pour la plate-forme Windows (Vista et XP), écrit en C# + VSTS 2008 + .Net 2.0.

Un conseil pour mon problème?

merci à l'avance, George

+1

pouvez-vous utiliser le projet d'installation dans Visual Studio et voir s'il prend en charge les langues alternatives par défaut. – DevelopingChris

+0

Bonjour DevelopingChris, il semble que le programme d'installation ne prenne pas en charge l'appel d'un autre programme d'installation à partir du programme d'installation actuel pour permettre aux progiciels dépendants de l'installation de l'utilisateur final. Par exemple, mon logiciel dépend de certains logiciels spécifiques, je veux regrouper le logiciel dépendant dans mon logiciel d'installation et demander à l'utilisateur d'installer le logiciel dépendant. Des commentaires? – George2

+4

Que diriez-vous d'ajouter des traductions à InnoSetup? Les fichiers de langue semblent assez simples et ce serait un bon ajout au paquet. Jetez un œil à quelques exemples sur http://www.innosetup.com/files/istrans/ - Je suppose que votre logiciel est également disponible en chinois simplifié, donc ajouter les traductions pour InnoSetup devrait être assez facile? – ylebre

Répondre

5

Comme l'un des commentaires à votre question suggère, vous voudrez peut-être d'intégrer simplement la langue souhaitée dans votre Inno Setup. Vous faites cela en ajoutant la section Languages:

[Languages] 
Name: "en"; MessagesFile: "compiler:Default.isl" 
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" 

Cela permet à l'interface utilisateur à afficher à la fois dans Englisch et néerlandais. D'autres traductions peuvent être ajoutées en conséquence. Le fait que Windows Installer n'autorise pas les "installations imbriquées" (exécutant un MSI à partir d'un MSI) peut être gênant. Toutefois, vous pouvez envisager de conditionner les programmes d'installation MSI dans un programme Inno Setup sans interface utilisateur (UI) et de configurer Inno Setup en exécutant les fichiers MSI un par un.

EDIT
Cela vous montre comment vous pouvez exécuter les fichiers EXE pour installer vos dépendances. Veuillez noter qu'ils peuvent être installés après votre logiciel. S'il est nécessaire qu'ils soient installés avant votre logiciel, vous devrez peut-être coder un petit script Pascal - ceci est expliqué dans les fichiers d'aide.

[Files] 
DestDir: {tmp}; Source: .\Files\sample.exe; Flags: deleteafterinstall; 
[Run] 
Filename: {tmp}\sample.exe; StatusMsg: Installing prerequisite 

Cela inclut le fichier .\Files\sample.exe dans la configuration, copie dans le dossier TEMP lors de l'installation et supprime après la configuration est terminée. Ensuite, après avoir copié vos fichiers, il exécute TEMP\sample.exe et attend qu'il se termine.

EDIT 2
En ce qui concerne le commentaire de l'OP de l'ordre des éléments de la section [Run]:

Il y a deux cas possibles:

  1. Vous utilisez Inno Setup pour effectuer la installation réelle de votre logiciel (copie de fichiers, entrées de registre, etc.) et en outre besoin d'exécuter les programmes d'installation pour les conditions préalables.
  2. Vous avez également un programme d'installation distinct pour votre logiciel, et vous avez juste besoin d'Inno Setup pour exécuter les programmes d'installation pour les prérequis ET votre logiciel.

Pour le cas 1:
Vous n'avez pas besoin de mettre le fichier EXE dans la section [Run] du tout, sauf que vous souhaitez permettre à l'utilisateur de démarrer votre application après l'installation comme on le voit dans de nombreuses configurations utilisant une case à cocher ("Exécuter XYZ maintenant?").Dans ce cas, utilisez la ligne suivante pour votre EXE:

Filename: {app}\yourprogram.exe; StatusMsg: Run the application; Flags: postinstall skipifsilent unchecked; Description: Run the application now 

Pour le cas 2:
Je commande les entrées aurait dans la section [Run] en fonction de leurs dépendances. C'est-à-dire que la première entrée est celle dont d'autres dépendent, la dernière entrée est la configuration de votre application. Mais je ne suis pas sûr de l'ordre dans lequel les entrées sont traitées.

Cela peut être répondu dans les documents de la section [Run]. En cas de doute, essayez de demander conseil à Jordan Russel (l'auteur d'Inno Setup) - c'est un gars sympa et quand je lui ai posté le dernier, il a répondu assez rapidement.

+0

Merci Thorsten, et j'ai essayé votre solution fonctionne , cool! Deux autres confusions, 1. Semble et valeur pour Nom pourrait être n'importe quelle valeur arbitraire, tant que la valeur de MessagesFile est correcte? Pourriez-vous confirmer cela? 2. Le logiciel dépendant n'est pas livré sous la forme de msi, mais exe. Une solution de conseil pour mon problème? – George2

+1

Salut, la valeur Nom peut être n'importe quoi. Jetez un coup d'œil au fichier d'aide fourni avec Inno Setup. Ouvrez-le et regardez la section "Setup Script Sections". Il y a une description de la section Langues avec plus de détails. Avez-vous besoin d'exécuter les fichiers EXE pour installer vos prérequis ou avez-vous besoin de les copier quelque part? –

+1

J'ai édité ma réponse pour vous montrer comment exécuter un fichier "temporaire" lors de l'installation de l'application. –