【问题标题】:c# setup and deployment projectc#设置和部署项目
【发布时间】:2013-01-06 18:24:09
【问题描述】:

我添加了一个app.config 文件,其中提到了主机地址和端口。 当应用程序启动时,主机地址和端口正在从配置文件中读取并使用开源 telnet 库检查服务器的存在。

<configuration>
  <configSections>
    <section name="SitesInfo" type="test"/>
  </configSections>
  <appSettings>
    <add key="ServerPort" value="123" />
    <add key="host" value="1.2.3.4"/>
  </appSettings>

</configuration>

现在我的要求是,我必须为此项目创建一个安装文件,并且在安装 .msi 文件时,应显示一个带有测试按钮的自定义窗口,其中必须从 app.config 读取主机和端口,并且检查服务器是否存在。

【问题讨论】:

  • 是否可以在msi安装窗口中添加自定义窗口。
  • 仅供参考:请注意,Microsoft 安装和部署项目在 Visual Studio 2012 或更高版本中不受支持,因此如果您刚开始使用安装程序,您可能想要考虑切换到其他东西(我建议使用 WiX)。

标签: c# windows-installer setup-project


【解决方案1】:

要为您提供一个简单的解决方案,需要做很多工作。但是,这可能会帮助您找到正确的方向。


使用您需要的功能创建一个简单的本机 DLL。 将此 DLL 嵌入到您的 MSI 二进制文件中。请注意,您不需要将此文件实际安装到目标系统。

在某些安装脚本中插入custom action,这将调用您的 DLL 上的方法。我建议使用InstallUISequence 脚本,因为您不希望在使用管理安装时触发此逻辑。在实际安装开始之前将其放置在某个地方。

您甚至可以创建带有标签、文本框等的自定义窗口,并将这些变量用作 DLL 的参数。这样一来,最终用户就会觉得它是“原生的”。

CodePlex 上的这篇文章是关于如何实现这一点的非常好的教程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多