我想在安装新数据库之前删除旧数据库,以便为用户更新它.
我有以下场景:
在我的Components部分中,我有一个用户选项:
[Components]
Name: "updateDatabase"; Description: "Update Database"; Types: custom; \
Flags: checkablealone disablenouninstallwarning
Run Code Online (Sandbox Code Playgroud)
我在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
Run Code Online (Sandbox Code Playgroud)
新数据库的安装工作正常.问题是我想在安装新的之前删除旧的,调用该过程RemoveOldDatabase.
是否可以只使用Inno Setup?
谢谢.
在我看来,一种非常简单且仍然具有描述性的方法是将您的过程作为节条目的BeforeInstall参数函数执行[Run].一个BeforeInstall条目被处理之前的参数函数执行一次正确的(且仅当它的处理,而你的情况是在选择组件时).你会写这个:
[Run]
Filename: "database.exe"; Components: UpdateDatabase; BeforeInstall: RemoveOldDatabase
[Code]
procedure RemoveOldDatabase;
begin
{ ... }
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8511 次 |
| 最近记录: |