如何进行自解压和运行安装程序

时间:2015-01-12 14:41:51

标签: 7zip winrar sfx

所以目前我的用户下载一个zipfile,解压缩然后运行setup.exe - 我希望他们只需点击一下即可。使用http://www.wikihow.com/Use-7Zip-to-Create-Self-Extracting-excutables我可以创建一个自解压的exe,但它实际上并没有运行安装程序。

从这个问题

Why does 7zip Ignore my InstallPath when making a SFX installer?

似乎我还需要一个.sfx文件,所以我从另一个问题复制并创建了一个包含以下内容的文件

;!@Install@!UTF-8!
InstallPath="C:\\test"
GUIMode="2"
RunProgram="setup.exe"
;!@InstallEnd@!

并调用setup.sfx并将其与其他文件一起添加到存档

setup.ini
setup.exe
setup.ico
install.jar
JVM32 (folder)

但它没有任何区别,我还需要做什么。

补充问题,我也有WinRar,它是否会影响最终用户体验,无论我使用的是7Zip还是Winrar?

3 个答案:

答案 0 :(得分:88)

我已经创建了有关如何执行此操作的分步说明,因为我对如何使其工作非常困惑。

How to make a self extracting archive that runs your setup.exe with 7zip -sfx switch

以下是步骤。

步骤1 - 设置安装文件夹

要轻松创建文件夹c:\ Install。这是我们将复制所有必需文件的地方。

步骤2 - 7ZZ您的安装程序

  1. 转到包含.msi和setup.exe
  2. 的文件夹
  3. 同时选择.msi和setup.exe
  4. 右键单击并选择7Zip - > “添加到档案”
  5. 将您的存档命名为“Installer.7z”(或您选择的名称)
  6. 点击确定
  7. 你现在应该有“Installer.7z”。
  8. 将此.7z文件复制到c:\ Install目录
  9. 第3步 - 获取7z-Extra sfx扩展模块

    您需要下载7zSD.sfx

    1. here
    2. 下载其中一个LZMA套餐
    3. 解压缩包并在7zSD.sfx文件夹中找到bin
    4. 将文件“7zSD.sfx”复制到c:\ Install
    5. 第4步 - 设置config.txt

      我建议使用NotePad ++编辑此文本文件,因为您需要使用UTF-8编码,以下说明使用notepad ++。

      1. 使用Windows资源管理器转到c:\ Install
      2. 右键单击并选择“新建文本文件”并将其命名为config.txt
      3. 右键单击并选择“使用NotePad ++编辑
      4. 点击“编码菜单”,然后选择“以UTF-8编码”
      5. 输入以下内容:

        ;!@Install@!UTF-8!
        Title="SOFTWARE v1.0.0.0"
        BeginPrompt="Do you want to install SOFTWARE v1.0.0.0?"
        RunProgram="setup.exe"
        ;!@InstallEnd@!
        
      6. 使用您的产品名称编辑此替换[SOFTWARE v1.0.0.0]。 有关设置文件的参数和选项的注释在这里

        检查点

        您现在应该拥有一个文件夹“c:\ Install”,其中包含以下3个文件:

              
        1. Installer.7z
        2.     
        3. 7zSD.sfx
        4.     
        5. 的config.txt
        6. 第5步 - 创建档案

          我在网上找到的这些说明,但没有解释上述4个步骤中的任何一个。

          1. 打开一个cmd窗口,Window + R - > cmd - >按回车
          2. 在命令窗口中输入以下内容

            cd \
            cd Install
            copy /b 7zSD.sfx + config.txt + Installer.7z MyInstaller.exe
            
          3. 查看c:\ Install,您现在将看到您有一个MyInstaller.exe

          4. 你已经完成了

            运行安装程序

            双击MyInstaller.exe,它会提示您的消息。单击“确定”,setup.exe将运行。

            P.S。关于自动化的注意事项

            现在您已经在c:\ Install目录中工作了,我将创建一个“Install.bat”文件并将复制脚本放入其中。

            copy /b 7zSD.sfx + config.txt + Installer.7z MyInstaller.exe
            

            现在,每次需要重建新版本的部署包时,都可以编辑并运行Install.bat。

答案 1 :(得分:26)

好的,我已经开始工作了,希望这些信息有用。

  1. 首先,我现在意识到,自解压zip不仅可以通过doubleclick开始提取,而且它们不需要在用户计算机上安装任何提取应用程序,因为提取器代码位于存档本身中。这意味着您将获得不同的用户体验,具体取决于您用于创建sfx的应用程序

  2. 我选择 WinRar ,如下所示,这不需要你创建一个sfx文件,一切都可以通过gui创建:

    • 选择文件,右键单击并选择添加到存档
    • 使用Browse ..在上面的文件夹中创建存档
    • 将档案格式更改为Zip
    • 启用创建SFX存档
    • 选择高级标签
    • 选择SFX选项
    • 选择“设置”标签
    • 将setup.exe输入提取后运行字段
    • 选择模式标签
    • 启用解压缩到临时文件夹
    • 选择文字和图标标签
    • 为您的任务输入更合适的标题
    • 选择确定
    • 选择确定
  3. 生成的exe解压缩到临时文件夹,然后启动安装程序

答案 2 :(得分:1)

使用开源7zip SFX-Packager很简单 - 只需“拖放”文件夹即可轻松实现,并创建一个便携式/自解压包。