InnoSetup (Pascal):FileExists() 未找到每个文件

2023-12-28

看来,我想用 FileExists() 检查的某些文件即使存在也永远找不到,而其他文件每次都会找到。

如果我将文件“driver.sys”放入“C:\Windows\System32\drivers\”目录中,则永远不会找到它(每次调用该函数时,FileExists 都是 false)。 如果我将文件移动到 Windows 根目录“C:\Windows\”,就会找到它。

这不起作用(虽然该文件肯定位于文件夹“C:\Windows\System32\drivers\”中):

function isNotDriverInstalled(): Boolean;
begin
  if (FileExists('C:\Windows\System32\drivers\driver.sys')) then begin
    Log('File exists');
    Result := False;
  end else begin
    Log('File doesn''t exist');
    Result := True;
  end;
end;

这有效(当文件位于文件夹“C:\Windows\”中时):

function isNotDriverInstalled(): Boolean;
begin
  if (FileExists('C:\Windows\driver.sys')) then begin
    Log('File exists');
    Result := False;
  end else begin
    Log('File doesn''t exist');
    Result := True;
  end;
end;

顺便说一句:我使用的是 Windows 7,64 位。

以前有人经历过这样的案例吗? 有什么建议么?

提前谢谢!


Your System32目录被映射到SysNative路径由于File System Redirector http://msdn.microsoft.com/en-us/library/windows/desktop/aa384187%28v=vs.85%29.aspx,正如您所看到的,对此类目录路径进行硬编码并不那么容易。最好使用下面列出的内置常量之一:

1. {sys} 常量:

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

InnoSetup (Pascal):FileExists() 未找到每个文件 的相关文章

  • 是否可以使用 sha1 和 sha256 证书对安装程序和卸载程序进行双重签名?

    Inno Setup 中是否可以同时使用 sha1 和 sha256 对卸载程序和安装程序进行签名 我知道它是可以签署 https stackoverflow com a 30671378 1329977通过命令工具具有两个证书的可执行文件
  • 使用 Inno Setup 添加卸载信息

    我正在使用 Inno Setup 为我的程序创建安装程序 但我希望能够添加图标并更改控制面板 添加 删除程序 中显示的一些信息 我知道 Inno Setup 添加了一个注册表项来获取首先列出的程序 所以我想知道是否可以以任何方式扩展它 以便
  • 命令行开关阻止 Inno Setup 安装程序创建桌面图标

    我正在尝试为 Balsamiq Mockups 创建静默安装 该安装似乎是使用 Inno Setup 编译器创建的 作为标准静默安装的一部分 它会创建一个我希望阻止的桌面快捷方式 有谁知道相关的命令行开关来防止创建桌面图标 我尝试过使用 M
  • 是否可以使用 INNO 脚本移动现有目录/文件?

    我们最近对一个使用 INNO 脚本安装的应用程序进行了重大重组 不幸的是 该应用程序需要某些文件在不同版本之间保持不变 更不幸的是 这些文件的位置在这次重组期间发生了变化 最不幸的是 现在由我来制作一个 INNO 脚本片段 它将查看这些文件
  • 我的安装程序如何有选择地删除一些最初并非创建的文件?

    我将所有程序的设置存储在 appdata 目录 appdata MyProgram 中 当出现问题而用户必须重新安装时 我想询问是否删除该目录中的数据 我正在使用 Inno Setup 并添加了一个自定义页面来提示用户 if DirExis
  • 如果在 Inno Setup 中更新安装,则排除 ssPostInstall 步骤中的部分代码部分

    我尝试对两者使用相同的安装程序 全新安装和更新 因此 如果用户第一次尝试安装我的应用程序 它将运行完整安装 包括 MySQL 安装程序作为先决条件 以及 MySQL 安装的一部分 Code 就会正常执行 但是 如果用户已经安装了我的应用程序
  • 在已安装应用程序的情况下运行 inno setup 时卸载

    我刚刚开始使用 inno setup 看起来效果很好 但是 当我运行已安装的应用程序的安装程序时 它会重新安装 我想给用户卸载 这可能吗 如果可以 该怎么做 具体来说 我为家庭作业编写了一个游戏 我使用 inno setup 制作了一个安装
  • Inno Setup 卸载进度条更改事件

    有没有类似的事件 函数CurInstallProgressChanged对于进度条CurProgress and MaxProgressInno Setup 中卸载表单中的值 对此没有本机支持 您可以做的是设置一个计时器并观察时间的变化Un
  • 使用 inno setup 安装时检查可用端口

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

    我的应用程序需要安装 NET Framework 因此我运行 NET 安装准备安装事件函数 当安装运行时 我想在向导上显示一些简单的消息 I found 如何在 Inno 安装脚本的 Code 部分设置状态消息 https stackove
  • 如何使用 Inno Setup 在安装过程中检查端口是否可用?

    我正在尝试创建一个安装文件 以便在安装过程中它将检查端口 例如 9000 并让用户知道端口状态 我是 Inno Setup 的新手 想知道这是否可行 以及如何检查这一点 谢谢 您可以使用我的功能来检查端口是否可用 see function
  • Inno Setup 安装可以设置 Windows 安全组吗?

    如何在 Inno Setup 安装过程中设置 Windows 安全组 我似乎想不出正确的文本来谷歌来弄清楚 也许暗示要搜索什么就足够了 好的 我找到了一些东西 我可以使用 net localgroup Windows 命令 http tec
  • Inno Setup:允许用户只选择可以安装软件的驱动器?

    我可以允许用户只选择要安装软件的驱动器吗 例如 他们可以选择C or D drive C Software D Software 但用户不能指定任何其他内容 就像他们不能选择安装下面的软件一样Downloads or MyDocumnets
  • Inno Setup安装先决条件[重复]

    这个问题在这里已经有答案了 我正在通过 Inno Setup 创建一个安装程序 我看到很多关于如何检测先决条件是否存在的代码示例 但没有任何关于当我找不到先决条件时如何实际安装先决条件的代码示例 我确信它非常简单 但是我该如何安装先决条件呢
  • Inno Setup 代码部分创建隐藏文件

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

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

    我们有一个程序 安装程序会检查配置文件是否存在 如果存在 它不会复制该文件 它假设用户已修改其配置文件并希望保留这些修改 不幸的是 这是一个 Vista 之前的应用程序 它将配置文件保存在 Program Files 中 问题是 如果你在重
  • 安装后执行批处理文件,并在 Inno Setup 中“完成”页面之前的自定义页面上显示其输出

    A cmd使用此解决方案可以在 Inno Setup UI 中显示输出 Inno Setup 安装程序中的嵌入式 CMD 在自定义页面上显示命令输出 https stackoverflow com q 56910906 850848 我的问
  • Inno Setup:有条件地删除用户主文件夹中的非空目录

    我正在通过 Inno Setup 为我的 Windows 应用程序创建安装程序 应用程序本身将一些配置数据写入用户主文件夹及其自己的子目录中 现在 在卸载过程中 我希望允许用户选择一个选项来删除该文件夹 该文件夹最初不是由 Inno Set
  • Inno Setup - XML 编辑 XPath 请求失败,并出现“运行时 NIL 接口异常”

    我已经为我的应用程序创建了一个 Inno Setup 脚本 其中我尝试在安装后步骤中编辑一些 XML 配置 主要是连接字符串 我有一些非常简单的 XPath 请求 但在使用时出现运行时异常selectSingleNode然而getEleme

随机推荐

  • 使用 Core Data 高效显示 100,000 个项目

    我正在使用 NSFetchResultsController 在 UITableView 中显示 100 000 多条记录 这可以工作 但速度很慢 尤其是在 iPad 1 上 加载可能需要 7 秒 这对我的用户来说是一种折磨 我还希望能够使
  • 在 ASP.NET 中获取服务器的 IP 地址?

    如何获取调用我的 ASP NET 页面的服务器的 IP 地址 我看过有关 Response 对象的内容 但对 c 很陌生 万分感谢 这应该有效 this gets the ip address of the server pc public
  • 如何优雅地处理 Ajax 调用的登录过期?

    我的 Web 应用程序由大量对服务器端的 Ajax 调用组成RESTful APIs 每次客户登录我的网站时 登录页面都会显示JWT JSON Web Token 来自服务器的令牌并将其存储为cookie在客户端 我选择将其存储为 cook
  • 使用 html 表单输入创建静态 html 页面

    我有一个 html 表单 它调用一个 php 文件 索引 html gt
  • iPhone 上的 pageshow 事件仅触发一次

    我正在尝试使用pageshowSafari iPhone 上的事件修复了后退按钮缓存的一些问题 但使用后退按钮时似乎只能工作一次 我在页面上有这个处理程序A window addEventListener pageshow function
  • R - sort() 输出缺少一行

    I have A and B如下 编辑 我很困而且很困惑 这些不是数据框 gt length A 1 490 gt length B 1 17730 gt str A num 1 490 0 0113 0 0106 0 2308 0 043
  • 将页面移动到 WordPress 中的子目录

    我有一个用 WordPress 制作的主页设置 所有页面都在根目录中 www example com 是否可以将我的某些页面移动到子目录中 like www example com products 根目录保持不变非常重要 这是简单的方法
  • 如何在 zend 框架视图中使用 $this->_() ?

    在我的 ZF 1 11 应用程序中 我将翻译器存储在注册表中 如下所示 Zend Registry set Zend Translate translator 因此 在我的视图脚本中 我可以通过以下方式访问翻译器 this gt trans
  • 使用 Python 复制 SAS 的第一个和最后一个功能

    我最近迁移到 Python 作为我的主要分析工具 并且我希望能够复制第一个工具 最后的 SAS 中的功能 SAS 代码如下 data data out set data in if first ID then flag 1 if last
  • ActiveMQ - 是否可以在 CLIENT_ACKNOWLEDGE 模式下确认单个消息

    根据http docs oracle com javaee 6 api javax jms Message html acknowledge http docs oracle com javaee 6 api javax jms Messa
  • 适用于 Android 的 Flurry 错误报告

    有没有人使用 Flurry 生成未捕获异常的报告 可以发布一些有关如何执行此操作的示例代码 我没有看到任何通过 Flurry 本身的示例 尽管我已经看到了自定义异常报告器的代码示例 但我还没有看到如何仅使用 Flurry 实现基本错误报告的
  • 我需要帮助使用 dataweave 以 xml 格式输出“大于”和“小于”字符

    我有以下数据编织代码 dw 2 0 output xml writeDeclaration false a b lt 当前输出是
  • 添加具有默认值的新列,而不是现有行

    alter table report add favourite film VARCHAR2 100 DEFAULT Star Wars 这会添加一个具有默认值的新列 但在我看来 它还会在所有预先存在的行上设置默认值 而不是将它们保留为空
  • 在iPhone中绘制空心圆

    i need to draw the following image 灰色部分是我想在另一张图像上绘制的内容 我需要使用 CGContext 方法使用的代码是什么 我尝试使用 CGContextAddArc 但失败了 因为当我填充笔划时 中
  • TestWatcher 和 TestNG

    All 我使用 JUnit 和 TestWatcher 以及 Selenium Java 在失败和成功时使用 TestWatcher 我调用错误跟踪工具 API 来锁定测试用例和缺陷 我现在想要生成 Selenium 测试运行的报告并锁定测
  • 如何在 VBA 中格式化文本/字符串?

    在下面的代码中 我采用一些输入参数 文本或单元格 并使用我需要的格式将它们组合起来形成一个字符串 我需要将 Task Name 以及 Lead 等文本设为粗体 我知道你不能将文本设置为粗体 但我该怎么做呢 我存储值的这个单元格最终会在 Wo
  • 如何确定远程通道是否已注册

    在我的 ASP NET 应用程序中 全局应用程序启动事件中有一行通过调用 Remoting Configuration Configure 来配置客户端远程处理通道 这第一次运行良好 但是当我的 Web 应用程序被回收时 应用程序启动事件再
  • 包含的 C++/C 头文件的实现在哪里?

    这可能看起来有点愚蠢 但这已经困扰了一段时间了 当我在我的C C程序中包含一些别人编写的头文件时 编译器如何知道头文件中声明的类成员函数的实现在哪里 假设我想编写一些利用 OpenCV 库的程序 通常我想使用 include
  • 从服务器获取图像并在客户端预览

    所以我试图从服务器获取图像并在客户端上预览它 我现在可以检索图像 但我不知道如何在网页上异步预览它 axios get link responseType stream then img gt What i have to do here
  • InnoSetup (Pascal):FileExists() 未找到每个文件

    看来 我想用 FileExists 检查的某些文件即使存在也永远找不到 而其他文件每次都会找到 如果我将文件 driver sys 放入 C Windows System32 drivers 目录中 则永远不会找到它 每次调用该函数时 Fi