Inno Setup 在找不到匹配文件时避免 ExtractTemporaryFiles 中的异常
Inno Setup Avoiding exceptions in ExtractTemporaryFiles when no matching files are found
我在提取 *.sql
个文件时遇到 ExtractTemporaryFiles
问题
我并不总是在 [Files]
部分中有 SQL 脚本来提取,如下所述。我的问题是,如果安装中没有 sql 文件,ExtractTemporaryFiles('*.sql')
会引发异常。
Internal error: ExtractTemporaryFiles: No files matching "*.sql" found.
我可以使用 try:except
或其他丑陋的方式,例如始终在安装中包含 dummy.sql
。所以我可以确保 ExtractTemporaryFiles
始终有一个文件可以提取它。
但我想知道在这种情况下避免异常的最佳方法是什么?
[Files]
Source: "Input\SQLSCRIPTS\*"; DestDir: "SQLSCRIPTS"; Flags: ignoreversion dontcopy skipifsourcedoesntexist
您可以使用 preprocessor 有条件地跳过 ExtractTemporaryFiles
调用:
#if FindFirst("Input\SQLSCRIPTS\*.sql", 0)
ExtractTemporaryFiles('*.sql');
#endif
我在提取 *.sql
个文件时遇到 ExtractTemporaryFiles
问题
我并不总是在 [Files]
部分中有 SQL 脚本来提取,如下所述。我的问题是,如果安装中没有 sql 文件,ExtractTemporaryFiles('*.sql')
会引发异常。
Internal error: ExtractTemporaryFiles: No files matching "*.sql" found.
我可以使用 try:except
或其他丑陋的方式,例如始终在安装中包含 dummy.sql
。所以我可以确保 ExtractTemporaryFiles
始终有一个文件可以提取它。
但我想知道在这种情况下避免异常的最佳方法是什么?
[Files]
Source: "Input\SQLSCRIPTS\*"; DestDir: "SQLSCRIPTS"; Flags: ignoreversion dontcopy skipifsourcedoesntexist
您可以使用 preprocessor 有条件地跳过 ExtractTemporaryFiles
调用:
#if FindFirst("Input\SQLSCRIPTS\*.sql", 0)
ExtractTemporaryFiles('*.sql');
#endif