【问题标题】:Adding software setup to installer将软件设置添加到安装程序
【发布时间】:2014-04-26 00:23:59
【问题描述】:

我正在为应用程序编写安装程序。大多数安装程序都已完成并正在工作,但我还有更多的步骤。我需要一些方法来向安装程序添加一个设置窗口,它将接受用户输入,如服务器地址和端口等,并将这些写入相关文件以用于系统启动。这最好通过安装程序内的各种 GUI 来完成。 我试过创建一个在安装后运行的可执行文件,但这并不总是在不同的系统上执行。

有没有办法向安装程序本身添加一个在目录结构和文件到位后执行的 GUI?

提前致谢。

【问题讨论】:

  • 我不明白你的意思。你的要求是什么?你想从你的安装程序调用另一个安装程序。
  • 要求安装应使用默认文件和目录结构。在这些到位之后,需要为系统配置一组用户输入;例如数据库用户名和密码、端口、服务器名称等。这并不一定意味着另一个安装程序,而是在安装过程中设置系统。这是否澄清了问题?
  • 编写 DTF 自定义操作并在 InstallFiles Sequence 之后作为延迟自定义操作执行。

标签: wix installation


【解决方案1】:

一般而言,您应该认真考虑将其作为一个独立应用程序,在应用程序首次运行并需要配置时运行。然后它是一个在用户上下文中运行并且可以以正常方式进行测试和调试的程序。至少考虑用户如果想要更改服务器地址或端口会做什么——他们是否需要卸载您的应用程序并重新安装它只是为了更改服务器详细信息或端口?

由于多种原因,从安装启动时 GUI 可能无法正确运行。如果它是延迟 CA,它可以使用系统帐户启动。它不是从交互式用户 shell 启动的,因此它可能不知道工作目录。它是从系统目录中运行的 msiexec.exe 进程运行的,并且可能使用系统帐户 - 这并不是真正进行 GUI 配置的地方。

【讨论】:

  • 我认为这也是最好的方法,尽管我倾向于建议将整个设置添加到主应用程序可执行文件中。使用单独的 EXE 可能同样好 - 这样它是一个更容易更新的 EXE 文件,并且可以由设置开发人员而不是开发团队维护。
  • 部分要求是在安装期间进行端口和服务器设置。假设您要安装服务器并需要设置服务器帐户和端口?最好是编写一个在安装后运行的单独设置吗?我已经尝试过这种方法;它适用于某些安装,但不适用于例如 Windows Server - 它运行安装,但安装后不打开 .exe。
  • 只是添加到这个。假设您的服务器安装有不同的目录 - 部署、数据库等。如果您运行单独的设置,您如何解析这些目录?我知道这些可以通过环境变量之类的东西来完成,但我想避免使用这些。
【解决方案2】:

我假设您使用的是 WiX,它在您的问题中没有这样说,但它被标记为 WiX。

我会阅读http://wix.tramontana.co.hu/tutorial/user-interface-revisited(或http://www.dizzymonkeydesign.com/blog/misc/adding-and-customizing-dlgs-in-wix-3/有一个相对容易阅读的示例),您可以在安装程序中添加或编辑任何对话框,您需要下载源代码才能获得在内置对话框中,它确实需要一些“游戏”才能使一切正常,但值得获得专业的安装程序。

【讨论】:

  • 我已经对 GUI 进行了自定义,但我认为 @Vinoth 使用 DTF 自定义操作的想法可能是可行的方法。无论如何,谢谢你的建议。
猜你喜欢
  • 2019-01-21
  • 1970-01-01
  • 2015-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多