WinRAR SFX可选消息,但不处于临时模式



如果我正在创建SFX存档,我可以通过启用临时模式(文件解压缩到临时文件夹)来设置一个可选问题,当用户运行提取程序时,它会向用户显示一个很好的"您确定"类型的问题。

但是,通过启用临时模式,它会完全忽略"提取到路径"设置。但是如果我禁用临时模式,这个问题就不可用了!

怎样才能让它提取到我想要的路径,但也能够设置那个可选问题?

@ John...

这在理论上听起来不错,但它不起作用。


问题:

一旦RAR检测到TempMode=开关,它就会忽略Path=并提取到%TMP%。在临时模式下,WinRar 会在安装完成后自动删除 %TMP% 文件。

问题是,有时WinRar会在安装完成之前删除文件。在某些软件包上,选中等待命令会使 WinRar 等待完成。

在需要重新启动的软件包上,%TMP% 文件将丢失。为了要求用户"安装示例应用程序?"然后提取文件,重新启动并完成设置,我不得不使用一些技巧,这可能会对上面的用户有所帮助。

1:像往常一样>临时模式创建SFX,因此您有"安装示例应用程序?"框。

2:安装程序=x复制> 使用 xcopy cmd 将文件复制到所需目录

3:设置=示例应用

通过将文件复制到新位置,SFX 关闭后不会删除它们。


替代解决方案#2

确定要将文件提取到的位置。示例:%TMP%\文件夹\应用.exe

创建临时模式 SFX"安装示例应用程序?setup=%TMP%\Folder\App.exe

创建包含文件的新 SFX + 温度模式 SFX路径=%TMP%\文件夹\临时模式 SFX.exe

运行SFX,>出现"安装示例应用?">如果"是",则应用运行。


替代解决方案3:

还有一种方法可以创建 Path= SFX,打包到 TempMode SFX 方法中,但这会导致将包提取到 %TMP%,然后将文件提取到所选位置或双重提取。

这也行得通,但方法 2 可以更好地工作,对您希望文件提取的位置进行一些预先考虑和计划。

希望这有帮助!

按下按钮后打开的帮助页面 选项卡上的帮助 对话框模式高级 SFX 选项包含段落

如果设置了"解压缩到临时文件夹"选项,则还应指定安装程序。SFX 在此模式下忽略提取参数的路径

原因很简单,并在帮助中解释了这一段。通过将存档解压缩到临时文件夹,调用的安装应用程序 (*.exe、*.bat、...) 负责将文件复制到安装文件夹。

但是,如果您希望WinRAR SFX将存档直接提取到预定义的文件夹中,并且您希望为用户提供在开始提取之前取消安装的可能性:

  1. 不要在"模式"选项卡上使用"解压缩到临时文件夹"。
  2. 而是在选项卡常规上设置要提取的路径
  3. 选择"在模式"选项卡上显示所有内容
  4. 选择"
  5. 提取并替换文件"或"在更新覆盖所有文件"选项卡上选择"提取并更新文件"。
  6. 在选项卡上为用户输入有用的文本 编辑字段中的文本和图标 要在SFX窗口中显示的文本,其中包含有问题的信息,以便用户可以决定何时按下按钮提取安装以及何时按下按钮取消执行SFX存档。

另一种可能性是在选项卡上输入许可证标题和问题文本作为许可证文本,从而导致执行SFX存档,首先显示对话框,"许可证文本"现在是带有"接受"和"拒绝"按钮的问题。

您拥有的第三种可能性是创建要使用的具有不同名称的SFX的副本,并使用免费资源黑客之类的工具根据您的需要自定义此SFX,即更改图标,位图,按钮文本和对话框中的位置,对话框的大小等。这是明确允许的,因为您可以在标题为GUI RAR和ZIP SFX模块(Default.SFX和Zip.SFX)的页面上阅读WinRAR的帮助。例如,您可以重新定义许可证对话框的布局,使其类似于自定义 SFX 中带有"是""否"按钮的问题消息框。我将这个解决方案用于 2 个使用 WinRAR SFX 存档安装/更新的应用程序,使用资源黑客创建这样一个自定义的 SFX 真的非常容易。

要创建提取包并保留问题框功能,请执行以下操作:

1:创建所需的提取包。

2:使用WinRar,编辑注释文件以添加TempMode="运行应用程序?","示例标题"

示例:TempMode="Install MyApp?","Vista ◦ MyApp 2.0 ◦ x32/64"

相关内容

  • 没有找到相关文章

最新更新