问题标签 [sfx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 如何使用 .NET 创建 SFX 自执行或引导程序设置
如何构建类似于microsoft 的 dotnet 3.5的设置,它是SFX 自执行设置。
那么哪个项目的company information
, 和version info
, 等将setup.exe
进入 final sfx file
。
这个关于 SO的问题也建议使用IExpress
,但文件信息不是我的项目在setup.exe
.
如果 .NET Framework 中有一些内置解决方案,我想先使用它。
如果self-executing SFX
无法在.NET Framework
.
主要目的是拥有仅由我定义的文件信息的自执行 SFX 文件。
谢谢
php - 即时在 php 中创建自解压 zip
我正在处理一个打包一些文件的 php 脚本(一个 setup.exe 和一个 licence.txt,它是直接在 php 中为用户创建的)。我们不希望用户必须解压缩并启动 setup.exe。在计算机上,我们通过使用自解压拉链解决了这个问题:
zip 名为 setup.exe zip 有应用程序图标 提取目的地是临时文件夹 提取过程被隐藏
所以如果用户点击 setup.exe 他不知道这个 setup.exe 最后是一个 zip。
但这是否也可以在 php 脚本中的服务器上实现?我尝试了普通的 ziparchive 对象和 pclzip,我可以使用这些库创建 zip。但是我无法更改上面的参数...
谁能告诉我是否有解决方案?
.net - 如何构建一个作为单个且自包含的文件/实体(无安装程序)分发的 .Net 应用程序?
目前我有一个 VBScript '应用程序' 来支持发送给客户端运行,然后客户端发送回一个带有结果的 HTML 文件。从角度来看,输出本质上与Absolute Dynamics的 Syscomp.exe 相似,只是我的是单个 .vbs 文件并且没有“比较”功能。
问题:对这个支持工具的需求在不断变化,它的范围/目的越来越大——我发现太大了,VBScript 不再是正确的工具。理想情况下 - 我的新工具将具有自定义机制。例如,我不必对所有需求/要查找的内容进行硬编码,而是可以有一个配置文件,例如 App.config,或者更好的是,一个带有我自己的标记模式的 XML 文件,它可以是根据每个客户的需要作为应用程序的一部分提供。注意:我要求“不安装”,因为这会不断变化,安装程序会使其不那么灵活;我们不会在每次发送时都要求客户安装。
我想要的解决方案:我需要迁移到更通用的平台。.Net 非常理想,因为我们已经是 .Net 商店。尽管如果使用 .Net,我无法想出一个解决方案来以与我已经使用当前 VBScript(单个实体)相同的方式进行分发,那么如果提到其他通用编程框架,我将考虑它们。
我试过的:
DotNetZip,感谢 Cheeso 对这个 SO 问题的帮助:从压缩的“zip”文件运行 .Net 应用程序。我能够使用它来发布一个支持 DLL 和 App.config 的 .Net EXE,所有这些都包含在一个自解压的 ZIP 中。不幸的是,这在 Windows XP 中不起作用,除非我遗漏了什么。编辑:确认这是 Windows XP 和 Windows Vista 的限制,而不是 DotNetZip。我需要我的解决方案才能在 XP 上工作(许多客户端都有 XP 或 Windows 2003 Server 场)
7Zip - 不满足我的需求,因为在我“构建”了我的解决方案后,我无法将 .config 添加到 .7z 存档中。我可以将文件添加到在 DotNetZip 中创建的 SFX 中,只需将其重命名为“.zip”,添加新的 .config,然后删除 .zip 扩展名。
NBox将无法工作,因为任何配置文件(例如 app.config)的打包都需要成为我构建过程的一部分。我需要一个配置,我可以在任何时候在构建过程之后/之外简单地“插入”,并将其作为最终产品交付的一部分
Coffee Cup 的 Zip Wizzard在没有用户干预的情况下无法解压文件。也不允许运行 EXE 后解压
NirSoft 的 Zip 安装程序。不符合我的要求,因为它仍然会提示最终用户在哪里安装文件。
ZIP 2 安全 EXE。不幸的是,这也没有成功,尽管我不记得缺点是什么
纳尔。这不起作用,因为它需要运行安装。除此之外,它可能会奏效。
问题:
- 考虑到我的要求,这可能吗?如果是这样,我应该从哪里开始,例如上面提到的第三方,或者我错过的第三方?
- 有没有人遇到过我遇到的类似情况,但选择了除单个文件/实体应用程序以外的其他途径,并愿意分享?
要求:
- 必须是单个实体(例如 EXE 或 ZIP)
- 必须能够支持至少一个配置文件,支持 DLL 等。一个“强大”的应用程序。编辑:例如,在我的代码构建后,可以将其压缩为自解压 ZIP。任何人都可以通过 XML 配置“自定义”它,然后将 .exe 重命名为 .zip,放入他们的配置,然后一起发送。
- 必须在 XP 和转发中工作。编辑:我们假设 .Net 运行时已经安装(至少 v3.5)
.net - 如何从与可执行文件相同的 zip 文件中提取特定文件
我知道有一些库允许我从 zip 中提取文件(DotnetZip、SharpZipLib 等),但是执行提取的可执行文件是否可能位于从中提取特定文件的同一个 zip 文件中?
这是我的愿景:
1) 用户双击压缩文件查看其内容。2) 双击一个 exe 3) 该 exe 从它包含的 zip 中提取一些文件到一个指定的目录 4) 这个目录现在有所需的文件。5) 运行此目录中的 exe。
我知道,这听起来很像现有的 SFX 解决方案。但是,这些似乎都不能满足我在这个问题中描述的需求:如何构建一个 .Net 应用程序,它作为一个独立的文件/实体(无安装程序)分发?
我知道这些要求听起来很奇怪。如果我可以更改 Powers That Be,我将只提供一个 MSI 和一个或两个用于配置的 XML 文件。
当然,我欢迎批评性的反馈和问题。
c# - 如何将 sfx 设置传递给 SevenZipSfx 类
有谁知道如何传递位于http://sevenzipsharp.codeplex.com/的 SevenZipSfx 类的 sfx 设置。我需要指定要运行的文件等。我只取了其中一个示例,例如
并通过 sfx.ModuleFileName 属性设置它,但是当我调用 sfx.MakeSfx(@"C:\a.7z", @"C:\test.exe"); 在 GetSettingsStream(...) 中,因为 settings.key 为空
我认为这不是正确的方法,但似乎无法找到它从哪里读取设置。我不想在源代码中对此进行硬编码。
.net - 7zip 自解压存档 (SFX) 和 .Net 安装程序
我正在尝试为我编写的 Windows 应用程序创建一个自解压存档。我的应用程序使用最新的 .Net 4.0,我想在 SFX 安装程序中包含 .Net 设置。但是,如果计算机需要安装 .Net 框架并重新启动,它将无法正确恢复安装我的应用程序。我查看了 Stack 站点上的其他 sfx 帖子,但没有一个问题涉及将 .Net 安装程序作为应用程序的先决条件。
我的项目产生 4 个文件:“App Installer.msi”“setup.exe”“WindowsInstaller-KB893803-v2-x86.exe”(在文件夹“WindowsInstaller3_1”中)和“dotNetFx40_Client_x86_x64.exe”(在文件夹“DotNetFX40Client”中) ,我认为所有这些都是标准的。
我使用 7zip 创建 SFX,如下所示:
首先,使用 7zip 将所有文件压缩到一个存档中:
接下来,我使用 7zS.sfx 文件(用于创建自解压安装程序)、我的配置文件和存档进行二进制复制。配置文件如下:
我用以下行复制它们:
安装程序在已经有 .Net 4.0 的计算机上完美运行 我的问题出现在没有 .Net Framework 的计算机上 - 我运行 SFX,它将所有内容提取到临时目录。然后,当 setup.exe 识别出计算机没有 .Net 4.0 时,它会调用 .Net 安装程序。这将提取到它自己的临时目录并开始安装。完成后,它会提示重新启动。点击“否”退出整个安装。点击“是”重新启动机器,重新登录时出现错误:“尝试安装 MyApp 时发生错误”,详细信息为“无法找到应用程序文件 'App Installer.msi'
问题似乎是,当安装程序移交给 .Net 安装程序并且 .Net 安装程序重新启动时,包含 My App 安装文件的临时目录被删除。我曾尝试从 setup.exe 切换到使用“App Installer.msi”,但这只会导致 msi 报告计算机没有 .Net 并建议进行 Web 下载。因为我可能在离线情况下安装应用程序,所以这对我不起作用。
之前有没有其他人尝试在 7zip SFX 中包含 .Net 安装程序,如果是,他们是如何解决的?如果可能,我更愿意继续使用 7zip,但如有必要,我会研究其他工具。
sfx - 我想在提取 sfx 存档时显示我自己的消息
我正在开发一个应该完全无人值守的软件安装程序,为此我想为软件制作 SFX 存档,并希望通过替换 SFX 默认窗口来显示我自己的消息,为此我在 Google 上搜索但没有找到我的问题的确切解决方案。我发现的帮助是 sfx 窗口被完全隐藏或对话框带有提取过程,但我看到一些 sfx 档案只显示一个栏,如评论或工具提示,其中给出了自定义消息。我努力通过 winrar 在 sfx 创建选项中做到这一点,但两个月以来,我找到了任何合理的解决方案。在这个网站上,我发现了一个匹配的问题,但是解决方案中涉及到 c++,我想知道在 winrar 或其他地方的 sfx 选项中是否有一个简单的解决方案,
batch-file - 如何在批处理文件中执行 Winrar
在 WinRAR 的实际 UI 中,您可以创建一个 sfx 文件并具有以下 sfx 选项:
在常规选项卡下:
提取路径:在当前文件夹中创建
在模式选项卡下:
静音模式:全部隐藏
在文本和图标选项卡下:
从文件中加载 SFX 图标:选择特定文件
我将如何使用批处理文件来做到这一点?
另外,我将如何使用批处理方法添加一个目录,而不仅仅是一个文件?
我不太擅长批处理文件,哎呀——我从来没有做过批处理文件——我只是在看开关,我不知道该怎么做。请,如果有人可以告诉我甚至指导我,将不胜感激。
提前致谢。
windows - 如何在exe中执行bat文件?(使用 WinRAR sfx 创建的 exe)
我想创建一个包含 mysql.msi 和 java.zip 的 exe 文件。我已经编写了 vbscript 来安装 mysql 并在 C: 驱动器中提取 java 文件。它工作正常。
现在我的问题是:
使用 WinRAR sfx 选项将源文件夹转换为 exe。
单击创建的 exe 时,如何执行 vbscript 或 bat 文件(用于执行 vbscript)?
有人有解决办法吗?
php - 你如何在 PHP 中获得大块的二进制文件?
我正在创建一个 PHP 应用程序,它会在某个时候从网站下载 SFX 存档并需要从中提取数据。
由于我在 Linux 机器上运行它,我需要删除文件的 SFX 可执行部分并将压缩文件保存在文件系统上,然后我将运行一个程序来解压缩/提取。(SFX 档案基本上是一个 EXE 文件,其后附加了压缩档案。我已经用十六进制编辑器手动尝试过这个,它工作得很好。)
SFX 存档中压缩存档的文件类型将始终相同,我知道该文件类型的幻数是什么。
然后我需要在 PHP 中做的是,在下载文件(让我们假设一个简单的file_get_contents()
使用 URL 参数)并且它位于内存中之后,我需要从压缩存档的幻数开始的内容中提取数据。
我在想我也许可以做某种正则表达式方法,但是,我需要将其处理为二进制信息(幻数需要表示为十六进制)而不是字符数据。幻数本身包含非打印/不显示为任何可读字符的十六进制值。