用户确认卸载时如何保存文件夹? (创新设置)

2023-12-07

当用户确认应用程序卸载时,如何将特定文件夹的备份副本保存到用户桌面?

我尝试过但没有成功...也许有一种更简单的方法可以在不使用代码的情况下做到这一点...

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep = usUninstall then
  begin
    FileCopy('{app}\Profile\*', '{userdesktop}\Backup\Profile\', False);
  end;
end;

感谢你们! :)


触发备份CurUninstallStepChanged(usUninstall)是最好的解决方案。

您遇到的问题是:

  • The FileCopy功能无法复制文件夹。

    为此请参阅Inno Setup:在代码部分递归复制文件夹、子文件夹和文件.

  • 你必须使用ExpandConstant功能来解决{app}{userdesktop}常数。

  • 您必须创建目标文件夹。

随着使用DirectoryCopy用户功能(来自上面提到的问题),你可以这样做:

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
  SourcePath: string;
  DestPath: string;
begin
  if CurUninstallStep = usUninstall then
  begin
    SourcePath := ExpandConstant('{app}\Profile');
    DestPath := ExpandConstant('{userdesktop}\Backup\Profile');
    Log(Format('Backing up %s to %s before uninstallation', [
      SourcePath, DestPath]));
    if not ForceDirectories(DestPath) then
    begin
      Log(Format('Failed to create %s', [DestPath]));
    end
      else
    begin
      DirectoryCopy(SourcePath, DestPath);
    end;
  end;
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用户确认卸载时如何保存文件夹? (创新设置) 的相关文章

  • 安装到 USB 驱动器根目录时出现 Inno Setup 错误:“您必须输入带驱动器号的完整路径”

    我想知道如何修复此类错误 您必须输入带驱动器号的完整路径 例如 C APP 或以下形式的 UNC 路径 server share 每当我尝试强制 Inno Setup Compiler 5 5 5 u 将我的东西放入其中时 就会出现这种情况
  • 如何备份本地Git仓库?

    我在一个相对较小的项目上使用 git 我发现压缩 git 目录的内容可能是备份项目的好方法 但这有点奇怪 因为当我恢复时 我需要做的第一件事是git reset hard 以这种方式备份 git 存储库有任何问题吗 另外 有没有更好的方法来
  • 如何解密加密的 Apple iTunes iPhone 备份?

    许多不幸的 iPhone 用户请求我帮助他们从 iTunes 备份中恢复数据 当它们未加密时 这很容易 但当它们加密时 无论密码是否已知 都不容易 因此 我试图找出加密时 mddata 和 mdinfo 文件使用的加密方案 否则 我在阅读这
  • Tar 一个目录,但不要在存档中存储完整的绝对路径

    我在备份 shell 脚本的一部分中有以下命令 tar cjf site1 bz2 var www site1 当我列出存档的内容时 我得到 tar tf site1 bz2 var www site1 style css var www
  • 意外删除表时恢复 cassandra 集群数据

    如您所知 Cassandra 集群具有复制功能 可以防止数据丢失 即使集群中的某些节点发生故障也是如此 但是 如果管理员不小心删除了一个包含大量数据的表 并且该命令已经由集群中的所有副本执行 这是否意味着您丢失了该表并且无法恢复它 有什么建
  • 如何在 Inno Setup 中使用 GetVolumeInformation?

    我需要在使用 Inno Setup 创建的安装过程中获取驱动器号的卷序列号 我知道 DLL 函数可以导入到 Inno 中 但我对它还很陌生 并且在使其工作时遇到一些问题 我知道 kernel32 中的 GetVolumeInformatio
  • 在 Inno Setup 中添加 4 个许可证页面

    我遵循了马丁的回答here https stackoverflow com questions 34592002 how to create two licensefile pages in inno setup在我的 Inno Setup
  • 如何在 Inno Setup 中为控件卷出设置动画

    我想在我的安装程序中制作控件滚动的动画 你可以看这个视频 https drive google com file d 1H0HKTPXg9BdYD4HQWqCWHlGSTIHlcJa view 您可以使用计时器来为控件设置动画 Code f
  • 如何从PrepareToInstall事件函数设置StatusMsg

    我的应用程序需要安装 NET Framework 因此我运行 NET 安装准备安装事件函数 当安装运行时 我想在向导上显示一些简单的消息 I found 如何在 Inno 安装脚本的 Code 部分设置状态消息 https stackove
  • PHP 通过 FTP 下载整个文件夹(递归)

    我目前有一个非常大的网站 大小约为 5GB 包含 60 000 个文件 当前主机并没有做太多事情来帮助我将网站转移到新主机 我的想法是在新主机上制作一个简单的脚本 通过 FTP 传输到旧主机并下载整个 public html 文件夹 递归地
  • 如何在vs2008中使用C#使用卷影复制

    我想制作一个使用卷影复制服务进行备份 恢复的 C 应用程序 如何从 C 访问 VSS API 查看AlphaVSS https github com alphaleonis AlphaVSS 我相信这正是医生所吩咐的
  • 如何使用 Inno Setup 在安装过程中检查端口是否可用?

    我正在尝试创建一个安装文件 以便在安装过程中它将检查端口 例如 9000 并让用户知道端口状态 我是 Inno Setup 的新手 想知道这是否可行 以及如何检查这一点 谢谢 您可以使用我的功能来检查端口是否可用 see function
  • Inno Setup:如何根据代码更改语言文件

    我使用自己的语言文件 isl 而不是使用 Inno Setup 的默认语言文件 它允许我自定义一些消息 但现在 我想要每种语言文件有两个版本 一个用于首次安装 一个用于更新 但是 是否可以从代码中选择一个文件 如果是 该怎么做 也许有一些比
  • Inno Setup 提示用户输入文件夹并存储值

    我有以下需求 Run run robocopy exe source dest OLD source contents options Where source必须由目标计算机上的用户指定 这可以根据物理平台进行更改 目的地将与用户定义的源
  • mongodb 备份是自动进行的吗?

    我们使用两个 mongodb 服务 现在 swisscom 开发者控制台中有一个备份按钮 我们是否必须使用此按钮手动进行备份 还是自动进行进一步备份 如果是 何时以及多久一次 我们会自动进行备份 但仅用于灾难恢复 我们不向客户提供此备份 所
  • Inno-Setup:在消息框中使用自己的按钮文本

    良好的 GUI 设计中的常见做法是不使用是 否消息框 而是为按钮提供真实名称 例如保存或丢弃 我们如何在显示的消息框中实现这一点MsgBox在 InnoSetup 中 至少对于我们在代码部分中显示的那些 The MsgBox http ww
  • Inno Setup 如何在浏览对话框中显示网络?

    在我的设置中 在浏览器中显示 浏览 按钮 wpSelectDir or CreateInputDirPage例如 网络永远不会显示 我对此进行了一段时间的搜索 但目前还没有找到任何解决方案 有没有办法显示网络并让用户选择网络路径 感谢您对此
  • Inno Setup安装先决条件[重复]

    这个问题在这里已经有答案了 我正在通过 Inno Setup 创建一个安装程序 我看到很多关于如何检测先决条件是否存在的代码示例 但没有任何关于当我找不到先决条件时如何实际安装先决条件的代码示例 我确信它非常简单 但是我该如何安装先决条件呢
  • Inno Setup 在 Windows Vista/7 及更高版本上安装到 AppData\Roaming,但在 Windows XP 上安装到应用程序数据

    我为 inDesign 制作了几个脚本 现在我想将它们全部分发到一个安装文件中 由于 inDesign 脚本驻留在 XP 和 Vista 或更高版本 上的不同位置 因此我遇到了一些问题 我编译的设置在 Windows XP 下运行良好 但不
  • 安装后执行批处理文件,并在 Inno Setup 中“完成”页面之前的自定义页面上显示其输出

    A cmd使用此解决方案可以在 Inno Setup UI 中显示输出 Inno Setup 安装程序中的嵌入式 CMD 在自定义页面上显示命令输出 https stackoverflow com q 56910906 850848 我的问

随机推荐

  • iPhone:可用磁盘空间

    我正在创建一个录音应用程序 我需要知道有多少可用磁盘空间 不是内存 我怎样才能取回它 Thanks 我还没有尝试过这个 但由于 iPhone 是基于 UNIX 的操作系统 您应该能够使用以下命令获取闪存文件系统上的可用空间statfs系统调
  • 使用 Curl 获取验证码并发送数据并获取结果

    所以基本上我对 php 很陌生 我想从网站获取验证码 然后我想在我的网页上显示它并发送一个小的帖子请求并获取结果 我正在谈论的网站是http www bollywoodmotion com mobile tracker with name
  • 查找数组中的重复数组

    给定一个数组数组 识别重复项的有效方法是什么 var array 11 31866455078125 44 53836644772605 lt Here s the duplicate 11 31866455078125 44 538366
  • Google Analytics 将 Google Cloud 测试实验室测试检测为活跃用户和新用户

    我正在使用 Google Analytics 我发现云测试实验室中的所有设备都被检测为 活跃用户 和 新用户 这是有道理的 有什么方法可以检测到这一点并且不计算它们吗 我发现它们不计为 Google Play 中的安装 因此我预计 Anal
  • JavaFX2.0 webview不渲染页面?

    我在JavaFX2 0中编写了以下代码 import javafx application Application import javafx event ActionEvent import javafx event EventHandl
  • 为什么 IPOPT 在违反约束的情况下仍评估目标函数?

    我在 Julia 中使用 IPOPT 我的目标函数会对某些参数值抛出错误 具体来说 虽然我认为这并不重要 但它涉及协方差矩阵的乔列斯基分解 因此要求协方差矩阵是正定的 因此 我非线性地约束参数 以便它们不会产生错误 尽管有这样的限制 IPO
  • 为什么不能从后台工作者访问 UI 组件?

    线程都共享资源 这就是多线程操作的全部问题 MSDN says 您必须小心 不要在 DoWork 事件 gt 处理程序中操作任何用户界面对象 相反 通过 ProgressChanged 和 RunWorkerCompleted 事件与用户界
  • 后台 IOS 可达性通知

    我想在用户上线后立即执行一些任务 即使他在后台 我正在使用 Reachability 类来检查互联网 但是当我在后台时 这个类不会通知我 我知道人们早些时候问过这个问题 但没有得到任何解决方案 如果我使用beginBackgroundTas
  • Android Google Map Utils 聚类距离

    我正在使用 Android Google Map utils 来启用标记的聚类 我用的是10个Markers 当我按下按钮时 我会调用 mGoogleMap moveCamera CameraUpdateFactory newLatLngB
  • Java Long Compare 和 ValueOf 方法未定义

    我正在引用我的 java 版本 JDK 1 8 但仍然出现错误 这个引用 6年后写Java 有什么问题 或者任何其他更简单的方法来做到这一点 我做了一些搜索 这些功能在后来的java版本中可用 日食是Oxygen Long 类型的方法 va
  • 为什么我的 ANTLR 构建 Ant 任务失败并显示“无法确定生成的类”?

    我正在尝试使用Ant 的 ANTLR3 任务 但我收到 无法确定生成的类 构建失败消息 一项快速研究表明 许多人都遇到过同样的问题 但没有提供解决方案 请参阅下面的链接 有人可以建议一个不使用常规 Java Ant 任务的解决方案吗 外部链
  • zend 形式的关联数组元素

    一段时间以来一直试图找到解决方案 但运气不佳 需要呈现一个带有复选框数组的表单 每个复选框都有一个关联的文本框 给定一个数组数组 Dave gt 23 Pete gt 12 Si gt 43 由此产生的加价应产生 div div
  • 以编程方式快速更改 UIButton 的文本

    简单的问题在这里 我有一个 UIButton currencySelector 我想以编程方式更改文本 这是我所拥有的 currencySelector text foobar Xcode 给我错误 预期声明 我做错了什么 如何更改按钮的文
  • 在浏览器中加载本地文件引用css或js

    这可能是一个基本问题 但有些方法对我不起作用 这是我的html
  • 同一张表上的多个 JOIN 视图

    我有这个数据库存储传感器采集数据 采集 acq 来自不同的控制单元 cu 以固定的时间间隔 日期时间 每个采集都有许多不同的测量值存储在数据表中 acq id datetime id cu data id id acq id meas va
  • 所有异步函数完成后执行函数?

    this validate label population this validate title prefix this validate title suffix this executeGitCommentCreation 我在构造
  • 不明白为什么 string.index("word") 不起作用

    是否可以采用该方法 index word 在 python 中不起作用 我有这个清单 Viganello n Monday n 06 48 n 06 58 n 07 08 n 07 18 n 07 28 n 07 38 n 07 48 n
  • 有没有人有一个简单的一步步 Mozilla 插件教程

    我正在尝试创建一个 Mozilla 浏览器插件 其唯一目的是使用 javascript 检测是否安装了我编写的应用程序 这是受到另一个启发堆栈溢出问答关于类似的主题 我真正想要的只是一个 HelloWorld 类型的示例 因为我需要编写的内
  • imp.find_module() 支持压缩鸡蛋

    imp find module 没有从压缩的鸡蛋中找到模块 How can find模块可以来自两个地方 目录还是压缩蛋 对我来说 重要的是我可以提供path像 imp find module 这样的参数支持它 背景 不知何故 软件包在我们
  • 用户确认卸载时如何保存文件夹? (创新设置)

    当用户确认应用程序卸载时 如何将特定文件夹的备份副本保存到用户桌面 我尝试过但没有成功 也许有一种更简单的方法可以在不使用代码的情况下做到这一点 procedure CurUninstallStepChanged CurUninstallS