如何制作自解压并运行安装程序

2023-11-23

因此,目前我的用户下载一个 zip 文件,将其解压缩,然后运行 ​​setup.exe - 我希望他们只需单击一下即可完成此操作。使用http://www.wikihow.com/Use-7Zip-to-Create-Self-Extracting-excutables我可以制作一个自解压的exe,但它实际上并不运行安装程序。

从这个问题

为什么 7zip 在制作 SFX 安装程序时忽略我的安装路径?

看来我还需要一个 .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会影响最终用户体验吗?


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

如何制作使用 7zip -sfx 开关运行 setup.exe 的自解压存档

以下是步骤。

第 1 步 - 设置您的安装文件夹

为了方便起见,创建一个文件夹 c:\Install。我们将在此处复制所有必需的文件。

第 2 步 - 7Zip 安装程序

  1. 转到包含 .msi 和 setup.exe 的文件夹
  2. 选择 .msi 和 setup.exe
  3. 右键单击并选择 7Zip -->“添加到存档”
  4. 将您的存档命名为“Installer.7z”(或您选择的名称)
  5. Click Ok
  6. 您现在应该有“Installer.7z”。
  7. 将此 .7z 文件复制到您的 c:\Install 目录

第 3 步 - 获取 7z-Extra sfx 扩展模块

您需要下载7zSD.sfx

  1. 从以下位置下载 LZMA 软件包之一here
  2. 解压包并找到7zSD.sfx in the bin folder.
  3. 将文件“7zSD.sfx”复制到 c:\Install

第 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@!
    

编辑此内容,将 [SOFTWARE v1.0.0.0] 替换为您的产品名称。 有关安装文件的参数和选项的注释是here.

检查点

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

  1. 安装程序.7z
  2. 7zSD.sfx
  3. 配置.txt

第 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. You are finished
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何制作自解压并运行安装程序 的相关文章

  • win10安装7zip没有右键菜单

    7zip才是最良心的压缩软件 xff0c 没有广告没有套路 但是安装完7zip以后 xff0c 会发现没有7zip的右键菜单 解决方法 xff1a 重新安装 xff0c 建议官网 xff08 7 Zip xff09 下载安装程序 xff08
  • WinRAR一直自动关闭怎么回事

    很多用户都习惯使用WinRAR来压缩解压文件 xff0c 但是有小伙伴跟小编反映自己的WinRAR老是一直闪退 xff0c 这是怎么回事 xff1f 下面就来看看WinRAR软件闪退的解决办法吧 Win10纯净版 Win10 64位纯净版
  • Struts2正则表达式校验

    原文地址 http woxiangbo iteye com blog 463397 下default xml文件 然后在xwork源代码中 需单独下载 找到相应的处理类 param即该类的属性 intege 1 9 d 整数 intege1
  • 为什么 7zip 在制作 SFX 安装程序时忽略我的安装路径?

    目前 我正在使用以下配置使用 7zip 制作 SFX Install UTF 8 InstallPath C test GUIMode 2 RunProgram 7z465 exe InstallEnd 然后 我将 7z465 exe 打包
  • 如何制作自解压并运行安装程序

    因此 目前我的用户下载一个 zip 文件 将其解压缩 然后运行 setup exe 我希望他们只需单击一下即可完成此操作 使用http www wikihow com Use 7Zip to Create Self Extracting e
  • Delphi 中的 LZMA 或 7zip

    Delphi 中是否有任何库可以处理 LZMA 或 7zip 文件 包括创建自解压 EXE 有一些源代码在7zip org在 c java c 中 但我希望它们在 delphi 中 但我想要一些独立的东西 没有 DLL 有两种解决方案 1
  • 无法从 Android 上创建的 ZIP 存档中提取文件(特定于设备/操作系统)

    我正在 Android 上使用如下代码创建存档 OutputStream os new FileOutputStream zipFile ZipOutputStream zos new ZipOutputStream new Buffere
  • 使用密码对一组文件进行打包 (WinRAR)

    我会尽力让它尽可能短 我正在寻找一个 bat 文件来 rar 和密码文件夹 其中包含文件 但问题比我想象的要棘手一些 每个文件夹中可以包含 1 到 400 个文件 我有两个 txt文件 一个具有所需数量的 rar 文件名 一个具有所需数量的
  • 如何在 Windows 7 x64、python 2.7 上 pip 安装 pylzma

    我以为这应该是开箱即用的 但是 我已经粘贴了 pip logpastbin http pastebin com fnw0jeXD错误消息的最后几行是 e Program Files x86 Microsoft Visual Studio 9
  • Python错误:找不到指定的文件

    这是我的代码主体 os chdir C Users Desktop rc subprocess call 7z a test y myarchive zip r device teams txt 它给我一个指向 r deviceteams
  • 遍历批处理文件中的文件夹和文件?

    这是我的情况 项目的目标是将一些附件迁移到另一个系统 这些附件将位于父文件夹中 比方说 Folder 0 see 这个问题的图 https serverfault com questions 147902 windows command l
  • 解压受密码保护的文件

    我正在尝试使用 PowerShell 从 USB 驱动器中受密码保护的 zip 中提取文件 我查了很多方法 但最简单的一种似乎不起作用 7ZipPath C Program Files 7 Zip 7z exe zipFile E pass
  • 如何使用 R 以编程方式提取/解压 .7z (7-zip) 文件

    我正在尝试自动提取许多使用 7 zip 压缩的文件 我需要自动化这个过程 因为a 我想解锁很多年的数据 b 我想与其他人共享我的代码并防止他们手动重复该过程 我的计算机上安装了 WinRAR 和 7 zip 我可以使用任一程序轻松地单独打开
  • 如何写入 7z 存档格式的二进制数据?

    我一直在研究 7z 存档格式的格式描述和源代码 但在编写有效的容器时仍然遇到困难 我想我可以创建一个空容器 无论如何 这是我的开始 std ofstream ofs archivename c str std ios binary std
  • SendTo 文件夹的 7zip SFX 批处理

    7z a mx9 sfx 1 exe 1 这就是我到目前为止所拥有的批处理文件 如果我将文件或文件夹拖放到批处理文件上 我会在超压缩上获得与原始文件同名的 7zip SFX 但这仅当文件与批处理文件位于同一文件夹中时才有效 我想要实现的是
  • 如何创建 RAR 压缩文件,压缩文件名中包含当前日期?

    我有文件夹D data有很多子文件夹和文件 我想用批处理文件将该文件夹存档到指定目录 并在存档文件名中添加当前日期 例如F 11 08 2016 data 到目前为止我的命令行是 C Program Files WinRAR rar exe
  • 使用 7zip 检测文件是否为存档

    我想使用 SevenZipSharp 来确定文件是否是存档 我知道这是可能的 因为在资源管理器中 如果我将 zip 重命名为 bmp 7zip 仍然会将其识别为存档 edit 换句话说 我希望 7zip 告诉我文件 无论扩展名如何 是否包含
  • 使用 PowerShell 对 zip 文件中的文件和文件夹进行计数

    如何计算 zip 文件中的文件和文件夹数量 我正在运行备份验证 需要将 zip 文件的文件夹结构与 Windows 文件夹的文件夹结构进行比较 最终目标是获得一个布尔值 源计数是否等于 zip 内容计数 到目前为止 这是我所掌握的 Refl
  • MSVC2012下无法编译7zip

    我无法在MSVC2012下编译7zip 当我输入 C 7zsrc gt nmake NEW COMPILER 1 MY STATIC LINK 1 Build mak 我明白了 Microsoft R Program Maintenance
  • 从 python 执行时如何打印和捕获 7zip 的%进度标记?

    当 7zip 从命令行运行时 它将使用一系列 符号打印进度条 我想在 Python 中执行 7zip 时捕获并打印这个进度条 我该怎么做呢 我当前使用的Python代码 from subprocess import Popen PIPE p

随机推荐

  • 将 Angular 应用程序添加到现有项目

    我有一个现有项目 我想在其中使用 Angular CLI 添加 Angular 应用程序 项目结构现在看起来像这样 节点模块 src client server shared angular cli json 包 json 客户端和共享文件
  • Python计数器:打印计数为x的键

    说我有一个Counter代表单词集合的对象 gt gt gt words hello hello hello world gt gt gt counter Counter words 找出哪些单词计数为 1 的一种方法是迭代counter
  • Java 中有 OLE 自动化吗?

    是否可以在 Java 中使用 OLE 自动化 如果不能 为什么在 Java 中不能呢 我正在寻求以不同格式 即 csv 等 自动导出 Excel 电子表格 感谢您提前的回答 最近 2013 年 3 月 一位独立贡献者向 JNA 添加了对通用
  • 在哪里可以找到有关 Perl 特殊变量的信息?

    Perl 有很多特殊变量 例如 F 等等 所有 Perl 的特殊变量都记录在哪里 Perl 使用的所有特殊变量都记录在佩尔多克 佩尔瓦尔 您可以访问随您的产品一起提供的本文档版本perl通过输入perldoc perlvar在命令行上
  • jQuery 选择器 - 其中项目没有特定类别的子项

    我想选择属于 nav 直接子项的列表项 它们本身没有具有 活动 类的直接子项 我认为应该是这样 但它不起作用 nav gt li not gt a active 您可以这样做 nav gt li not has a active
  • Ada 中的自定义“图像属性”?

    所以我有一件事 type Thing is new record elements end record 我有一个将其字符串化的函数 function ToString t Thing returns string 我希望能够告诉 Ada
  • 在现有映射对象中添加或覆盖 aes

    这是最小的情况 df lt data frame x 1 5 y 1 col 1 5 mapping lt aes x x y y ggplot df mapping geom point size 10 现在我想在现有的基础上添加 或覆盖
  • Linux 中的优雅关闭服务器套接字

    我希望能够停止侦听 Linux 中的服务器套接字 并确保从客户端角度打开的所有连接都得到正确处理并且不会突然关闭 即 接收 ECONNRESET ie sock create socket listen sock non zero back
  • 使用 jquery contains 更改 div 中文本的颜色

    这里 div 内的整个文本都变成红色 但我只需要改变 bar 字的颜色
  • 在 WooCommerce 中以编程方式创建可变产品和两个新属性

    我想以编程方式创建一个具有两个新变量属性的变量产品 父 产品 所有这些属性都来自 WordPress 插件 因此没有对 API 的 HTTP 请求 这两个变量属性也应该动态创建 如何才能做到这一点 使用 WooCommerce 版本 3 更
  • 如何获取SceneKit中子节点旋转后的真实位置?

    我正在使用 SceneKit 开发一个场景 我有一个带有子节点的主节点 Main node SCNNode planet SCNNode node planet geometry SCNSphere sphereWithRadius 2 p
  • C# 中如何检查两个字符串是否部分匹配? [复制]

    这个问题在这里已经有答案了 可能的重复 是否有为 C 编写的模糊搜索或字符串相似性函数库 我正在创建一个应用程序 它将排除用户输入的歌曲或艺术家或专辑名称 然后将查找字符串数组或数组列表以查找任何可能的匹配项 自动建议将根据匹配百分比计算
  • iOS 如何在没有堆栈跟踪的情况下调试崩溃,例如: [__NSArrayM objectAtIndex:]: 索引 0 超出空数组的范围?

    我试图关闭模态视图控制器并收到以下错误 由于未捕获的异常 NSRangeException 而终止应用程序 原因 NSArrayM objectAtIndex 索引 0 超出空数组的范围 有一次我花了 4 个小时尝试调试这样的错误 谁能告诉
  • JVM 如何知道运行时在哪里捕获异常?

    据我了解 throw是一个原始的 jvm 命令 当调用它时 JVM 检查当前调用堆栈是否可以捕获它 如果不能 那么 java 只是弹出调用堆栈 几乎就像调用 return 一样 然后jvm 检查当前调用堆栈是否可以捕获它 递归地依此类推 我
  • os.exec* 的第一个参数

    来自 python 文档 各种 exec 函数采用 新程序的参数列表 加载到进程中 在每种情况下 这些参数中的第一个被传递 将新程序作为自己的名称 而不是作为用户可能的参数 已在命令行中输入 为了 C程序员 这是argv 0 传递给程序的
  • .NET WebApi 身份验证

    目前 我有一个销售小部件的 MVC Web 应用程序 用户使用表单身份验证登录我们的系统 然后可以根据他们所属的组执行各种功能 即下订单 查看订单 取消订单等 我们的任务是编写一个 API 让第三方能够在我们的系统中创建和查看订单 每个第三
  • 如何在 Django 中为外键字段定义 __str__ 方法?

    我如何定义strDjango 中外键字段的方法 下面的代码不起作用 class A models Model name models ForeignKey B def str self return self name 如果你的型号B ha
  • Struts 1.x 与 Struts 2.x

    我已经回顾了一些关于 SO 的 Struts 1 vs 2 问题 但似乎没有一个能从我正在看待的角度回答这个问题 我即将开始构建一个新系统 对一个非常旧的桌面应用程序进行彻底的重新设计 目标是使其基于网络 添加更多功能 使其更可用等 通常的
  • 计算 QR 码对齐图案的位置

    我需要知道如何计算 QR 码对齐图案的位置 如中定义ISO IEC 18004 2000 附录 E 表 我不明白它是如何计算的 例如 如果您采用版本 16 则使用 6 26 50 74 计算位置 点之间的距离为 20 24 24 如果点之间
  • 如何制作自解压并运行安装程序

    因此 目前我的用户下载一个 zip 文件 将其解压缩 然后运行 setup exe 我希望他们只需单击一下即可完成此操作 使用http www wikihow com Use 7Zip to Create Self Extracting e