首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SFX安装程序中添加VERSIONINFO

在SFX安装程序中添加VERSIONINFO
EN

Stack Overflow用户
提问于 2019-07-23 17:35:09
回答 1查看 905关注 0票数 0

我编写了一个PowerShell脚本,它创建了一个自解压缩存档(a.k.a )。使用WinRAR命令行的可执行文件。问题是VERSIONINFO元数据完全是空的(右键单击构建的*.exe文件,转到Properties,然后单击Details选项卡)。

下面是我在脚本中使用的WinRAR命令:

代码语言:javascript
复制
$WinRarInstallPath = "$Env:ProgramFiles\WinRAR\winrar"

<#
    WinRAR arguments used:
        a       - Add files to an archive
        -cfg-   - Ignore default profile and environment variable 
        -ep1    - Exclude base folder from names
        -iadm   - Request administrative access for SFX archive
        -iicon  - Path to icon to use for installer
        -r      - Recurse subfolders
        -sfx    - Create self-extracting archive
        -z      - Path to archive comment file (SFX configuration file)
#>
&$WinRarInstallPath a -cfg- -ep1 -iadm -iicon"$IconPath" -r -sfx -z"$ConfigFilePath" `
    "$InstallerName" "$SourceFilesPath\*" | Out-Null

是否有一个WinRAR命令行开关可以让我填写版本和版权信息?如果不是,在构建SFX的*.exe文件之后,是否有什么方法来填充这些信息呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-02 18:13:02

我能够通过手动将VERSIONINFO文件添加到WinRAR的Default64.SFX文件的副本(在WinRAR的安装路径中找到)来解决这个问题,然后使用它构建SFX。以下是几个步骤:

  1. Default64.SFX文件复制到硬盘的某个位置(比如桌面)。
  2. 将在Default64.SFX步骤1中复制的文件重命名为Default64.exe
  3. 在Visual中打开Default64.exe (您可能需要打开Visual,选择File -> Open -> ,然后单击 open 按钮右侧的箭头,然后单击Open With.)。然后在打开的Open 对话框中,选择Resource 并单击OK按钮)。
  4. 如果没有版本文件夹,右键单击顶层文件夹(命名为Default64.exe),然后单击AddResource。在列表中选择Version,然后单击New按钮。如果有一个版本的文件夹,只需双击文件夹中的文件.
  5. 更改所需的所有元数据,并保存所有内容。
  6. 关闭。
  7. Default64.exe重命名为Default64.SFX
  8. 将PowerShell调用更改为WinRAR的命令行可执行文件,并在-sfx开关中指定您修改的Default64.SFX文件的路径:
代码语言:javascript
复制
&$WinRarInstallPath a -cfg- -ep1 -iadm -iicon"$IconPath" -r -sfx"C:\path\to\Default64.SFX" ` 
    -z"$ConfigFilePath" "$InstallerName" "$SourceFilesPath\*" | Out-Null
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57169474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档