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

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(使用前将#替换为@)

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

  • WinRAR分析

    1 xff0e 样本概况 1 1 应用程序信息 应用程序名称 xff1a WinRAR 6 11 0 MD5值 xff1a F2BD2E3D8B7C7C8EEFA2B28E3280EDA3 SHA1值 xff1a DC2B378B27D1A
  • 为什么 7zip 在制作 SFX 安装程序时忽略我的安装路径?

    目前 我正在使用以下配置使用 7zip 制作 SFX Install UTF 8 InstallPath C test GUIMode 2 RunProgram 7z465 exe InstallEnd 然后 我将 7z465 exe 打包
  • 批处理文件压缩子目录

    我正在尝试编写一个批处理脚本 该脚本将使用 winrar 或 7 zip 自动运行压缩子目录 Example My Pictures Pics1 Pics1 zip File1 jpg File2 jpg File3 jpg Pics2 P
  • 如何制作自解压并运行安装程序

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

    我有一个7zip包含数百个文件的存档 这些文件被分成不同的目录 目标是从 FTP 服务器下载它 然后将其解压到手机上 我的问题是7zipSDK包含的内容并不多 我正在寻找有关 7z 文件解压的示例 教程和片段 解压通过Intent只是次要选
  • 7zip 压缩网络流

    我想在通过网络发送文件之前对其进行压缩 我认为最好的方法是 7zip 因为它是免费且开源的 如何将 7zip 与 net 一起使用 我知道7zip是免费的 并且他们有 C 的源代码 但由于某种原因 它在 C 上非常慢 所以我宁愿调用 dll
  • 如何在ios中解压/提取7z压缩文件

    我需要在ios中解压 解压7z压缩文件 谁能说一下用于执行此操作的库 这些库在哪里可以下载 我有任何示例项目可以执行此操作 请告诉我 7 Zip Lzma SDK 是一个用于处理 7 zip 文件的多语言 SDK Mo Dejong 创建了
  • 使用密码对一组文件进行打包 (WinRAR)

    我会尽力让它尽可能短 我正在寻找一个 bat 文件来 rar 和密码文件夹 其中包含文件 但问题比我想象的要棘手一些 每个文件夹中可以包含 1 到 400 个文件 我有两个 txt文件 一个具有所需数量的 rar 文件名 一个具有所需数量的
  • 在 7z 单文件存档中随机查找

    是否可以对由 7zip 压缩的非常大的文件进行随机访问 大量搜索 原始文件非常大 999gb xml 我无法以解压格式存储它 我没有那么多可用空间 因此 如果 7z 格式允许访问中间块而无需解压缩所选块之前的所有块 我可以构建块开头和相应原
  • 如何在 Windows 7 x64、python 2.7 上 pip 安装 pylzma

    我以为这应该是开箱即用的 但是 我已经粘贴了 pip logpastbin http pastebin com fnw0jeXD错误消息的最后几行是 e Program Files x86 Microsoft Visual Studio 9
  • 遍历批处理文件中的文件夹和文件?

    这是我的情况 项目的目标是将一些附件迁移到另一个系统 这些附件将位于父文件夹中 比方说 Folder 0 see 这个问题的图 https serverfault com questions 147902 windows command l
  • 创建分割档案(zip、rar、7z)?

    简而言之 I need使用虚拟安全格式将单个 或多个 文件拆分为多个最大大小的存档 例如 zip 或 rar 任何有效的文件都可以 I 会爱知道某个部分何时完成 回调 这样我就可以开始将其运走 I would 而不是除非不可能 否则请使用
  • 如何将文件夹的每个子文件夹中除最新文件之外的所有文件压缩为每个子文件夹一个 ZIP 文件?

    我正在尝试创建一个批处理脚本 该脚本将压缩每个子目录中除最新 或最新的几个 之外的所有内容 我目前正在 Windows 中尝试使用 7 Zip 但从技术上讲 该目录位于 Linux 服务器上 因此欢迎任何针对 Linux 命令的建议 目录结
  • 如何使用 7-Zip 从多个 zip 存档中删除文件

    我有一千个 zip 存档 其中都包含我要删除的文件 我可以让 7Zip 从命令行一次删除一个文件 7z d r archive zip pdf 但是我如何将其应用于所有文件 这些文件本身分组在子目录中 尝试这个 for r v in zip
  • SendTo 文件夹的 7zip SFX 批处理

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

    因此 我编写了一个批处理文件来将客户端转换为云服务 并且我从中看到了一些奇怪的行为 因此 这基本上会查找特定的文件夹 无论它是否存在 它都会使用 GOTO 继续前进 当我使用 WinRAR 将其压缩为 SFX 并指示它运行批处理文件时 它永
  • 使用7zip sdk压缩文件,但无法使用winrar或7zip解压

    我从以下位置下载了 SDK 7ziphere http www 7 zip org sdk html 然后我使用以下代码将文件压缩为 7zip private static void CompressFileLZMA string inFi
  • 为什么解压时出现 sfx Sevenzipsharp '7-zip:不支持的方法'?

    我创造了hallo 7z并使用7zxSD LZMA sfx作为模块 我认为我的配置是正确的 但是在提取 sfx 时我收到了 7 zip 不支持的方法 void CreateExeFile try SfxModule mdl SfxModul
  • 创建 7-zip 安装程序包时出错

    如果这不是提问的正确地点 我深表歉意 我使用 7zip 创建安装程序包 最近 我的电脑更新了 我无法再使用它了 我使用 Visual Studio 2010 中的 Windows Installer 创建安装包 并将其添加到名为 setup
  • 从 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