Inno Setup:如何在“运行”部分或“运行”部分之前运行代码过程?

荒井空浪

我想在安装新数据库之前删除旧数据库,以便为用户更新它。

我有以下情况:

在我的Components部分中,我为用户提供了一个选项:

[Components]
Name: "updateDatabase";  Description: "Update Database";  Types: custom; \
    Flags: checkablealone disablenouninstallwarning

在本Code节中,我有一个过程,如果用户在运行部分中选择了此选项,则在安装新程序之前要执行该程序。

[Code]
procedure RemoveOldDatabase();
begin
...
end;

[Run]
**--> Here I want to call RemoveOldDatabase if Components: updateDatabase is checked**
Filename: "database.exe"; StatusMsg: "Installing new database..."; Components: updateDatabase

新数据库的安装工作正常。问题是我想在安装新的旧版本之前删除旧版本,然后调用过程RemoveOldDatabase

仅使用Inno Setup可以吗?

谢谢。

TLama

在我看来,一种非常简单且仍具有描述性的方法是,将您的过程作为节条目BeforeInstall参数函数执行[Run]一个BeforeInstall条目被处理之前的参数功能,一旦正确执行(且仅当它的处理,而你的情况是在选择组件时)。您可以这样写:

[Run]
Filename: "database.exe"; Components: UpdateDatabase; BeforeInstall: RemoveOldDatabase

[Code]
procedure RemoveOldDatabase;
begin
  { ... }
end;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Inno Setup:如何在“运行”部分操作进度栏?

来自分类Dev

在 Inno Setup 的运行部分之后创建桌面链接图标

来自分类Dev

Inno Setup:如何将变量从[代码]传递到[运行](或其他部分)

来自分类Dev

如何在Inno Setup Run部分中运行Set-ProcessMitigation PowerShell cmdlet

来自分类Dev

Inno Setup:在[运行]部分中执行Pascal功能

来自分类Dev

Inno Setup部分[运行]有条件

来自分类Dev

如何从代码部分完全禁用Inno Setup中的特定组件?

来自分类Dev

Inno Setup,[运行]中参数中的空格

来自分类Dev

Inno Setup:如何在“注册”部分操作进度栏?

来自分类Dev

如何在Inno Setup的[CustomMessages]部分中使用通配符?

来自分类Dev

Inno Setup:/ verysilent安装后如何自动运行程序?

来自分类Dev

如何运行Inno Setup中隐藏的cmd.exe

来自分类Dev

在Inno Setup中安装部分后,如何移动任务部分?

来自分类Dev

等待(网络)服务器启动,然后再运行Inno Setup [运行]部分中的另一个程序

来自分类Dev

Inno Setup遍历Pascal代码中的[Files]部分

来自分类Dev

Inno Setup [Code]部分变量为[Registry]

来自分类Dev

Dirs部分的Inno Setup Check功能

来自分类Dev

Inno Setup:运行程序而不显示复选框

来自分类Dev

Inno Setup Pascal脚本来搜索正在运行的进程

来自分类Dev

Inno Setup-从.Net 4.5位置运行InstallUtil

来自分类Dev

Inno Setup-强制以32位模式运行

来自分类Dev

Inno Setup:运行程序而不显示复选框

来自分类Dev

Inno Setup执行功能无法完全正常运行

来自分类Dev

在运行条目描述中使用标准的 Inno Setup 消息

来自分类Dev

如何从Inno Setup的[Files]部分取消文件签名?

来自分类Dev

在运行或Inno设置的其他部分中使用全局字符串脚本变量

来自分类Dev

在运行或Inno设置的其他部分中使用全局字符串脚本变量

来自分类Dev

Inno Setup语法-OR,AND

来自分类Dev

Inno Setup中的TTreeView

Related 相关文章

  1. 1

    Inno Setup:如何在“运行”部分操作进度栏?

  2. 2

    在 Inno Setup 的运行部分之后创建桌面链接图标

  3. 3

    Inno Setup:如何将变量从[代码]传递到[运行](或其他部分)

  4. 4

    如何在Inno Setup Run部分中运行Set-ProcessMitigation PowerShell cmdlet

  5. 5

    Inno Setup:在[运行]部分中执行Pascal功能

  6. 6

    Inno Setup部分[运行]有条件

  7. 7

    如何从代码部分完全禁用Inno Setup中的特定组件?

  8. 8

    Inno Setup,[运行]中参数中的空格

  9. 9

    Inno Setup:如何在“注册”部分操作进度栏?

  10. 10

    如何在Inno Setup的[CustomMessages]部分中使用通配符?

  11. 11

    Inno Setup:/ verysilent安装后如何自动运行程序?

  12. 12

    如何运行Inno Setup中隐藏的cmd.exe

  13. 13

    在Inno Setup中安装部分后,如何移动任务部分?

  14. 14

    等待(网络)服务器启动,然后再运行Inno Setup [运行]部分中的另一个程序

  15. 15

    Inno Setup遍历Pascal代码中的[Files]部分

  16. 16

    Inno Setup [Code]部分变量为[Registry]

  17. 17

    Dirs部分的Inno Setup Check功能

  18. 18

    Inno Setup:运行程序而不显示复选框

  19. 19

    Inno Setup Pascal脚本来搜索正在运行的进程

  20. 20

    Inno Setup-从.Net 4.5位置运行InstallUtil

  21. 21

    Inno Setup-强制以32位模式运行

  22. 22

    Inno Setup:运行程序而不显示复选框

  23. 23

    Inno Setup执行功能无法完全正常运行

  24. 24

    在运行条目描述中使用标准的 Inno Setup 消息

  25. 25

    如何从Inno Setup的[Files]部分取消文件签名?

  26. 26

    在运行或Inno设置的其他部分中使用全局字符串脚本变量

  27. 27

    在运行或Inno设置的其他部分中使用全局字符串脚本变量

  28. 28

    Inno Setup语法-OR,AND

  29. 29

    Inno Setup中的TTreeView

热门标签

归档