【问题标题】:Custom installer for a .net application.net 应用程序的自定义安装程序
【发布时间】:2011-05-03 11:32:48
【问题描述】:

我需要创建一个支持法语、德语、西班牙语、意大利语、波兰语、俄语、英语、中文(普通话脚本)的自定义安装程序,要为基于 .net 的应用程序添加更多语言。

此安装程序还需要能够检查目标系统是否安装了 adobe。如果目标系统没有 adobe 或版本低于要求,则应从 CD 安装。如果确实如此,则绕过该步骤。

安装程序还需要提示用户浏览到系统上的任何位置以选择将放置在安装文件夹中的文件。

安装程序还需要在添加删除程序列表中注册该程序。

是否有可以完成所有这些任务的自定义安装程序,还是我需要为它从头开始构建应用程序?

想法...想法???

感谢您的宝贵时间...

【问题讨论】:

  • 您可以查看 Wix 以构建自定义安装程序。 wix.sourceforge.net
  • 我在网站上似乎找不到任何文档。我需要证明它的有用性,然后才能在 corp 网络上寻求其下载的批准……很遗憾!
  • 这很不幸。该链接上有一些文档,但通常 wix 的文档严重不足。它基本上是一组将 XML 文件编译成 Windows 安装程序的工具。使用起来非常繁琐,但允许您制作令人难以置信的可定制安装程序。如果我正在做你说你想做的事,那很可能是我会使用的。
  • 看看WiX Tutorial。它可以或多或少地帮助您了解它的作用和工作原理。

标签: installation windows-installer


【解决方案1】:

简短回答:是的,所有这些事情都可以完成,其中大部分都很容易。

WiX 或 NSIS 可能是您最好的两个免费选项。 NSIS 的大部分功能都使用插件架构,但插件是文本文件,因此下载它们应该没有问题。但是,如果您的公司对许可感到“有趣”,那么请尽早检查每个插件的相关许可 - 大多数都完全免费使用,但法律有时可能无法理解这一点......

请在下面找到指向文档相关部分的指针,以便您下载它(顺便说一句,我感到您很痛苦!)

语言支持

Docs

允许用户选择一个文件并复制它

您将需要InstallOptions 插件。这允许您在安装向导中创建一个额外的页面,该页面可以提示输入信息。它允许各种控件,其中一个是文件资源管理器控件(在链接中搜索FileRequest)。

要复制文件,您不能简单地使用File 指令,因为它会从安装介质中提取和复制文件,并且不会对目标计算机上的文件进行操作。

相反,您将需要一个插件 - 例如this wrapper 围绕 WinAPI。或者,使用CopyFiles 指令。

在添加/删除程序中注册程序

这是 WiX 和 NSIS 中的标准。

检测 Adob​​e 是否已安装。

NSIS 能够检查是否存在注册表项或命名文件,这是检测已安装程序的两种常规方法。

【讨论】:

  • WiX 还支持本地化、UI 中的自定义对话框,以及通过注册表项、文件系统搜索相关应用程序。
  • 我并不是说 WiX 不能做这些事情。我只是更熟悉 NSIS,并且 WiX 已在 cmets 中得到解决。确实,对于任何相当成熟的安装程序技术来说,所有这些东西都是必不可少的。
  • 当然!您提到了 WiX,但其余的答案主要是关于 NSIS。所以我决定添加一条评论,以明确 WiX 也具有这些功能。我不是故意听起来好像你说没有。
  • 好的,一旦我有 UI 提示用户输入文件位置。我需要选择该文件以移动到安装目录。这是怎么做到的?。这就是我现在正在努力解决的问题。如果你们中的任何人在 NSIS 中知道 .. 或者如果有人在 WIX 中有示例 .. 任何一种方式对我来说都可以:)
  • 用两种解决方案更新了答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-08
  • 1970-01-01
相关资源
最近更新 更多