我想在安装新数据库之前删除旧数据库,以便为用户更新它。
我有以下情况:
在我的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可以吗?
谢谢。
在我看来,一种非常简单且仍具有描述性的方法是,将您的过程作为节条目的BeforeInstall
参数函数执行[Run]
。一个BeforeInstall
条目被处理之前的参数功能,一旦正确执行(且仅当它的处理,而你的情况是在选择组件时)。您可以这样写:
[Run]
Filename: "database.exe"; Components: UpdateDatabase; BeforeInstall: RemoveOldDatabase
[Code]
procedure RemoveOldDatabase;
begin
{ ... }
end;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句