作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在安装新数据库之前删除旧数据库,以便为用户更新它。
我有以下情况:
在我的 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;
关于inno-setup - 创新设置: How to run a code procedure in Run section or before Run section?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26257808/
残差校验需要统计检验。 如何在matlab中测试残差?我正在策划它。 我发现创新项以之字形方式在零附近大幅波动。 创新预期为零吗?如果是,该怎么做? 最佳答案 据我了解,收敛后的 EKF 创新应该是一
我是一名优秀的程序员,十分优秀!