Web安装构建器软件

时间:2011-09-03 16:31:06

标签: installer inno-setup nsis web

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

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

我现在正在使用Inno Setup几年 - 但下载支持非常基础,你必须手动完成所有工作。在从网上下载和安装文件时,NSIS也非常有限。

是否有支持全功能网络安装的安装程序?

3 个答案:

答案 0 :(得分:3)

Windows Installer支持Web安装:

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

为此,有一些优化:

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

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

大多数商业设置创作工具都直接支持此功能。一些免费工具也支持此功能,但对于大多数人来说,您需要手动配置它。

答案 1 :(得分:0)

可以使用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

答案 2 :(得分:0)

InstallShield广泛支持Web安装。