简体   繁体   English

制作软件安装程序包问题

[英]making software setup package issue

I am making software setup package, and previously I am using Inno Setup, and it works very good. 我正在制作软件安装程序包,以前我使用的是Inno Setup,它的效果很好。

The current issue I met with Inno setup is, it does not support all languages for the setup UI, for example Simplified Chinese. 我在使用Inno设置时遇到的当前问题是,它不支持设置UI的所有语言,例如简体中文。

The setup project of VSTS 2008 supports almost all languages, but it does not support invoke another installer from the current installer to let end user install dependent software packages. VSTS 2008的安装项目几乎支持所有语言,但是不支持从当前安装程序调用另一个安装程序,以允许最终用户安装依赖的软件包。

My program to publish is for Windows platform (Vista and XP), written in C# + VSTS 2008 + .Net 2.0. 我要发布的程序是针对Windows平台(Vista和XP),使用C#+ VSTS 2008 + .Net 2.0编写。

Any advice for my problem? 对我的问题有什么建议吗?

thanks in advance, George 预先感谢乔治

As one of the comments to your question suggests, you may want to simply integrate the required language into your Inno Setup. 正如对您的问题的评论之一所建议的那样,您可能希望将所需的语言简单地集成到Inno Setup中。 You do that by adding the Languages section: 您可以通过添加“ Languages部分来做到这一点:

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

This allows the UI to be displayed both in Englisch and Dutch. 这使UI既可以用英语显示,也可以用荷兰语显示。 Other translations can be added accordingly. 可以相应地添加其他翻译。

The fact that Windows Installer does not allow "nested installations" (running an MSI from an MSI) can be annoying. Windows Installer不允许“嵌套安装”(从MSI运行MSI)这一事实可能令人讨厌。 You might, however, consider packaging the MSI installers into an UI-less (= silent) Inno Setup and have Inno Setup run the MSIs one by one. 但是,您可以考虑将MSI安装程序打包到无UI(=静默)的Inno安装程序中,并让Inno Setup逐一运行MSI。

EDIT 编辑
This shows you how you may run the EXE files to install your dependencies. 这向您展示了如何运行EXE文件来安装依赖项。 Please note that they might be installed after your software. 请注意,它们可能在您的软件之后安装。 If it is required that they are installed before your software, you may need to code a little Pascal Script - this is explained in the help files. 如果要求在软件之前安装它们,则可能需要编写一些Pascal脚本的代码-帮助文件中对此进行了说明。

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

This includes file .\\Files\\sample.exe into the setup, copies it to the TEMP folder upon installation and removes it after the setup is done. 这包括文件.\\Files\\sample.exe到安装程序中,在安装时将其复制到TEMP文件夹中,并在安装完成后将其删除。 Then, after copying your files, it runs TEMP\\sample.exe and waits for it to finish. 然后,在复制文件后,它将运行TEMP\\sample.exe并等待其完成。

EDIT 2 编辑2
Regarding the OP's comment on the order of the items in the [Run] section: 关于OP对[Run]部分中项目顺序的评论:

There are two possible cases: 有两种可能的情况:

  1. You're using Inno Setup to perform the actual installation of your software (copying files, registry entries, etc.) and additionally need to run the installers for the prerequisites. 您正在使用Inno Setup来执行软件的实际安装(复制文件,注册表项等),并且还需要运行安装程序才能满足必备条件。
  2. You've got a separate installer for your software as well, and just need Inno Setup to run the installers for the prerequisites AND your software. 您还为软件安装了单独的安装程序,只需要Inno Setup即可运行必备软件和软件的安装程序。

For case 1: 对于情况1:
You do not need to put the your EXE file into the [Run] section at all, except you'd like to allow the user to start your application after setup as seen in many setups using a checkbox ("Run XYZ now?"). 您根本不需要将EXE文件放入[Run]部分,除非您希望允许用户在安装后启动应用程序,如在许多设置中使用复选框一样(“立即运行XYZ?”) 。 In that case, use the following line for your EXE: 在这种情况下,请对EXE使用以下行:

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

For case 2: 对于情况2:
I'd order the entries in the [Run] section according to their dependencies. 我将根据它们的依存关系对[Run]部分中的条目进行排序。 That is: first entry is the one that some others depend upon, last entry is your application setup. 即:第一个条目是其他一些条目所依赖的条目,最后一个条目是您的应用程序设置。 But I'm not sure about the order in which the entries are handled. 但是我不确定条目的处理顺序。

This might be answered in the docs for the [Run] section. 可以在[Run]部分的文档中对此进行回答。 When in doubt, try asking Jordan Russel (Inno Setup's author) for advice - he's a nice guy and when I last mailed him he was pretty quick replying. 如有疑问,请尝试向Jordan Russel(Inno Setup的作者)征求意见-他是一个好人,当我上次寄给他时,他的回复很快。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM