Inno Setup - 使用通配符注册表项设置 DefaultDir?

2023-12-14

我最近开始使用 Inno Setup 尝试创建一个简单的 .exe 安装程序来进行游戏修改。

我的安装程序大部分工作正常,但目前还有些基础。我真正希望安装程序做的是自动找到该模组设计的游戏的安装目录(战争黎明 - 黑暗十字军),这样用户就不需要手动浏览它。

我读过 Inno 安装程序可以根据注册表项设置 DefaultDir。然而,虽然“目标”游戏确实创建了一个包含其安装目录的注册表项,但该游戏可以通过数字方式(通过 Steam)或物理方式购买,并且它会根据购买的格式创建不同的注册表项。我的 mod 适用于任一格式,但如果有多个可能的注册表项格式,我不知道如何设置 DefaultDir。

是否有某种“通配符”功能可以从注册表项返回游戏的安装目录,而无需输入准确的完整注册表项值(即某种注册表通配符)?或者搜索它可能具有的两个可能值,然后如果没有找到则默认为 {src} ?


除了使用[Code]正如其他地方所回答的,您还可以嵌套注册表常量:

DefaultDirName={reg:HKLM,Software\Vendor1\Application,InstallPath|{reg:HKLM,Software\Vendor2\Application,InstallPath|{pf}\DefaultInstallPath}}

这将使用 Vendor1 的路径(如果存在);如果失败,它将尝试 Vendor2 的路径,并且只有当它找不到其中任何一个时,它才会回退到某个默认值。

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

Inno Setup - 使用通配符注册表项设置 DefaultDir? 的相关文章

  • 在已安装应用程序的情况下运行 inno setup 时卸载

    我刚刚开始使用 inno setup 看起来效果很好 但是 当我运行已安装的应用程序的安装程序时 它会重新安装 我想给用户卸载 这可能吗 如果可以 该怎么做 具体来说 我为家庭作业编写了一个游戏 我使用 inno setup 制作了一个安装
  • 在 jQuery 中使用通配符 ID 并获取通配符 ID

    我有4个ID hideshow1 hideshow2 hideshow3 hideshow4 现在 当单击这些 ID 的按钮时 我想最后使用这些整数执行单独的操作 到目前为止我有这个 document ready function id h
  • 是否可以打开 regedit 并使用 process.start 直接导航到特定键?

    我正在制作一个小工具 可以在注册表中写入一个密钥 其中一小部分只是为了方便起见 只需单击一个按钮即可立即导航到该密钥 我已经知道如何打开 regedit exe 但是有没有办法立即导航到我需要的密钥 我正在尝试与 System Diagno
  • 使用 Visual Studio 安装项目设置 InstallPath 注册表项

    我正在使用使用 Visual Studio 安装项目设计的 msi 安装程序来部署我的应用程序 如何将注册表项设置为应用程序的安装路径 实际上 当我在寻找同样的东西时 还提到了以下解决方案 在注册表项中使用 TARGETDIR
  • 在 Win 7 上安装 Python 2.7 32 位:没有注册表项?

    我已从 python org 下载了 Python 2 7 2 Windows x86 32 位 MSI 并将其安装在 64 位 Windows 7 系统上 一切正常 至少命令行解释器启动并运行 但安装过程不会创建任何PythonWindo
  • 在 Windows 命令提示符中使用通配符

    我想知道是否可以在 Windows 命令提示符中使用通配符 例如 如果我想查看以 docx 结尾的目录中的所有文件 在 Linux 上我会输入以下内容ls docx Windows下有类似的工具吗 谢谢 是的你可以 e g 星号字符 可以代
  • 使用 inno setup 安装时检查可用端口

    我正在尝试在 inno setup 中创建以下功能 用户被要求输入他们希望我的应用程序进行通信的端口 一旦他们进入端口 他们就可以点击检查按钮 此检查按钮将运行一些代码来查看安装计算机上的端口是否可用 到目前为止 我可以为用户创建输入框来输
  • Inno Setup 无法导入 DLL

    我没有运气将 Delphi DLL 导入 Inno Setup Unicode 该DLL有一个简单的过程 procedure Foo stdcall begin end exports Foo 该 DLL 包含在安装程序源中 并添加到文件列
  • 无法将值写入密钥\使用管理员帐户在 Windows 7 计算机中安装 SSMS 显示软件

    我在安装SQL Server 2014时出现以下错误 无法将值写入键 SOFTWARE 验证您是否有足够的权限访问该密钥 或联系您的支持人员 当它尝试安装 SSMS 并且我的计算机正在运行 Windows 7 时 就会发生这种情况 为了使其
  • CE 设备读取注册表的哪个分支?

    我的 Windows CE Motorola Symbol 手持设备在 HKEY CURRENT USER 和 HKEY LOCAL MACHINE 下都有名为 Software Microsoft Windows CE Services
  • Inno Setup:如何根据代码更改语言文件

    我使用自己的语言文件 isl 而不是使用 Inno Setup 的默认语言文件 它允许我自定义一些消息 但现在 我想要每种语言文件有两个版本 一个用于首次安装 一个用于更新 但是 是否可以从代码中选择一个文件 如果是 该怎么做 也许有一些比
  • 将注册表中的版本号转换为System.Version?

    我正在从注册表中检索版本号 如下所示 rKey GetValue Version 现在我想将其转换为System Version object 我该怎么做呢 假设这是一个字符串 string versionText string rKey
  • Inno Setup 如何在浏览对话框中显示网络?

    在我的设置中 在浏览器中显示 浏览 按钮 wpSelectDir or CreateInputDirPage例如 网络永远不会显示 我对此进行了一段时间的搜索 但目前还没有找到任何解决方案 有没有办法显示网络并让用户选择网络路径 感谢您对此
  • Solr:在带有空格的字符串上使用通配符

    我的问题与这里讨论的问题基本相同 带空格的 Solr 通配符查询 https stackoverflow com questions 10023133 solr wildcard query with whitespace 但这个问题没有得
  • Inno Setup:仅在不是 VERYSILENT 的情况下安装

    仅当安装程序未以非常安静的方式运行时 我才想安装并注册某个文件 我不知道我怎样才能做到这一点 我当前的线路是 Source M sqlite36 engine dll DestDir sys Flags uninsneveruninstal
  • Inno Setup 代码部分创建隐藏文件

    我正在处理 Inno Setup 项目 该项目正在使用SaveStringToFile函数在 Code 部分 我想将此文件设置为隐藏系统文件 但我无法找到有关如何实现此操作的信息 有任何想法吗 Inno Setup Pascal Scrip
  • 在 Inno Setup 中单击“下一步”按钮时验证自定义页面上的数据

    我已经设法获得一个基本脚本来显示向导 使用CreateInputFilePage 供用户识别我用来更新 XML 文件中某些设置的文件位置 但是 我想对所选文件的输入进行一些基本检查 而不是简单地接受用户提供的任何内容 例如 如果用户在内容无
  • 欢迎页面未显示,SelectDir 页面首先显示

    我正在尝试使用 Inno Setup 来制作安装程序 我想先显示欢迎页面 然后显示 SelectDir This is CurPageChanged示例代码 procedure CurPageChanged CurPageID intege
  • 从命令提示符/批处理文件添加环境变量

    我正在尝试在批处理文件中添加环境变量 系统 以下命令显示错误 语法无效 有人可以帮忙吗 对我来说它看起来不错 reg add HKLM SYSTEM CurrentControlSet Control Session Manager Env
  • 使用redis进行树形数据结构

    我需要为基于树的键值开发一个缓存系统 与Windows注册表编辑器非常相似 其中缓存键是字符串 表示树中到值的路径 可以是原始类型 int string bool double 等 或子树本身 例如 key root x y z w val

随机推荐

  • 正则表达式帮助 - python - 从 css 中提取所有图像 url

    我正在尝试从 css 文件中提取所有图像 jpg png gif uri 示例 CSS blockpricecont width 660px height 75px background url images postBack jpg re
  • 使用画布nodeJS模糊图像

    这好像是ctx filter blur amount 不起作用 这是我的代码 const body await request get url const data await Canvas loadImage body ctx filte
  • 在c#中通过位掩码存储多个值

    我试图通过位掩码将四个独立的 5 位值 0 31 存储在 32 位 int 内 但无法正确设置这些值 并从用于存储的掩码 int 中获取各个值 谁能帮我这个 Edit 抱歉外部链接 这里有一些 JavaScript 演示了我想要实现的目标
  • 如何在 ASP.NET Core 6 中将字段值从 true 切换为 false,反之亦然

    我正在使用 ASP NET Core 6 和 mongodb 作为数据库构建一个 API 我正在尝试设置某个字段以从 true 切换到 false 反之亦然 如果场isactive True 然后我必须将其更新为 false 反之亦然 我已
  • 解析apache日志文件

    我刚刚开始学习 Python 想读取 Apache 日志文件并将每行的部分内容放入不同的列表中 文件中的行 172 16 0 3 25 Sep 2002 14 04 19 0200 GET HTTP 1 1 401 Mozilla 5 0
  • Cassandra:插入 timeuuid 错误

    我有下表 create table test userId varchar notifId timeuuid notification varchar time bigint read boolean primary key userId
  • 带有 FileSystemWatcher 和 Timer 的 Windows 服务 - 确保所有内容都得到处理

    我创建了一个 C Windows 服务应用程序来启动FileSystemWatcher监视目录中文件的创建 找到文件后 我实例化一个自定义类 该类解析文件 CSV 并使用其内容调用 Web 服务 该服务在某种程度上是异步的 并返回一个唯一的
  • 使用 SUDS 时添加 xsi:type 和信封命名空间

    我需要与 SOAP 服务交互 但这样做遇到了很多麻烦 非常感谢对此的任何指示 原来的错误信息是 org apache axis2 databinding ADBException Any type element type has not
  • MySQL Select Query 生成动态列结果

    我需要编写一个动态返回列的查询 例如 我有一个包含列的表 tblTest Id Name Type Amount 1 Receipt Cash 100 2 Receipt Card 200 3 Receipt Cheque 250 4 Re
  • 如何将日期时间列四舍五入到最近的一刻钟

    我已将数据文件加载到 Python pandas 数据框中 我有一个格式的日期时间列2015 07 18 13 53 33 280 我需要做的是创建一个新列 将其四舍五入到最接近的一刻钟 因此 上面的日期将四舍五入为2015 07 18 1
  • Gradle应用程序插件:修改workingDir属性

    我只是想修改程序运行的目录 通常 它是从项目根目录运行的 这让我有点恼火 因为测试程序可能非常烦人 因为我的程序在运行时生成文件和文件夹 A JavaExec任务有一个属性称为JavaExec workingDir 这正是我想要修改为我选择
  • 使用数组进行字符串插值

    我正在尝试使用 php 创建链接 但遇到了一些困难 有人可以帮我弄这个吗 我希望链接转到 yourteam php 标题为变量 row User ID 的内容 echo tr td a href row User ID a td td b
  • 水平冻结一表列

    我有一个活动 其中我实现了一个表格视图 表格视图有标题和正文 表格可以水平和垂直滚动 这是活动源代码 public class ReportListActivity extends Activity TableLayout report t
  • 使用来自 PHP 网页的输入参数运行 .exe

    我目前正在尝试获取一个可执行文件以在 PHP 网页中运行 当前使用exec 从命令行运行时 该程序需要两个参数 我不确定使用 PHP 运行它的最佳方法是什么 特别是 可以使用以下语法从命令行运行 exe my program exe inp
  • 在 WooCommerce 我的帐户订单列表上显示产品缩略图

    我正在尝试在 WooCommerce 我的帐户 gt 订单列表中的订单号旁边显示产品缩略图 Below is the screenshot of the order 我必须使用什么钩子来显示图像 I tried 将产品图片添加到 Wooco
  • 在 PHP 中删除 JSON 数组元素,然后重新编码为 JSON

    function deleteNews selected file file get contents news json true data json decode file true unset file foreach selecte
  • 取消 jquery 可拖动对象或重置

    我想加载一个可以拖动到地图 div 上的对象页面 但想要有一个清除 撤消按钮 这可以用 jquery 实现吗 你可以在上一个问题中看到代码 jQuery UI droppables 更改删除的图像 这可以通过简单的调用来实现 animate
  • 使用 gradle/clojuresq 构建 clojure

    我正在尝试使用 gradle Clojuresque 构建 clojure 代码 运行它并获取 uberjar 我使用来自的提示http dev clojure org display doc Getting Started with Gr
  • 使用php发送whatsapp消息

    你好 我想使用 php 发送 Whatsapp 消息 我运行这段代码
  • Inno Setup - 使用通配符注册表项设置 DefaultDir?

    我最近开始使用 Inno Setup 尝试创建一个简单的 exe 安装程序来进行游戏修改 我的安装程序大部分工作正常 但目前还有些基础 我真正希望安装程序做的是自动找到该模组设计的游戏的安装目录 战争黎明 黑暗十字军 这样用户就不需要手动浏