【问题标题】:Web install builder softwareWeb 安装构建器软件
【发布时间】:2011-09-03 16:31:05
【问题描述】:

Web 安装程序每天都变得越来越流行 - 您只需下载一小部分安装程序,它就会从 Web 服务器中提取剩余的文件。

但由于广受欢迎,我找不到任何原生支持 Web 安装的安装程序。

我已经使用 Inno Setup 好几年了 - 但下载支持非常基础,您必须手动完成所有操作。 NSIS 在从 Web 下载和安装文件方面也非常有限。

是否有任何支持全功能 Web 安装的安装程序?

【问题讨论】:

    标签: installation inno-setup nsis web


    【解决方案1】:

    Windows Installer 支持网络安装:

    • 您使用包 URL 而不是文件路径启动 msiexec.exe
    • 已下载 MSI(仅 MSI)
    • 安装开始时,Windows Installer 仅从与您的 MSI 相同的位置下载所需的 CAB

    为此有一些优化:

    • 为每个功能生成一个 CAB,而不是为整个安装程序生成一个 CAB
    • 将 CAB 留在您的 MSI 之外
    • 将 MSI 和 CAB 放在服务器上的同一文件夹中

    此外,您始终可以添加 EXE 引导程序来处理软件包先决条件。

    大多数商业设置创作工具都对此提供直接支持。一些免费工具也支持此功能,但大多数情况下您需要手动配置。

    【讨论】:

      【解决方案2】:

      可以使用 inetc plugin 使用 NSIS 创建网络安装程序

      !define URL  "http://url to full installer.exe"
      
      outfile netinstall.exe
      name "Net Install"
      setcompressor zlib
      
      !include "mui2.nsh"
      !include "logiclib.nsh"
      
      !insertmacro MUI_PAGE_WELCOME
      !insertmacro MUI_PAGE_INSTFILES
      
      !insertmacro MUI_LANGUAGE "English"
      
      LangString TEXT_DOWNLOAD_FAILED ${LANG_ENGLISH} "Unable to download installer.$\r$\n$\r$\nPlease check you Internet connection and retry."
      
      section NetInstall
      download:
          inetc::get "${URL}" $PLUGINSDIR\installer.exe
          pop $0
      
          ${if} $0 == "Cancelled"
              quit
          ${elseif} $0 != "OK"
              messagebox MB_RETRYCANCEL|MB_ICONEXCLAMATION "$(TEXT_DOWNLOAD_FAILED)" IDRETRY download
              quit
          ${endif}
      
          hidewindow    
      
          execwait '"$PLUGINSDIR\installer.exe"'    
      sectionend
      

      【讨论】:

        【解决方案3】:

        InstallShield 广泛支持网络安装。

        【讨论】:

          猜你喜欢
          • 2018-05-09
          • 1970-01-01
          • 2023-03-23
          • 1970-01-01
          • 2012-12-17
          • 1970-01-01
          • 2017-05-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多