我正在尝试组合一个简单的 Inno Setup 安装程序,它会查找以前的版本并在继续之前将其删除。一切正常,直到我得到以下代码:
if Exec(UninstallString, '/SILENT', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
begin
MsgBox('Previous version found and uninstalled successfully.', mbInformation, MB_OK);
end
else
begin
MsgBox('Please uninstall the previous version of this mod before continuing.', mbInformation, MB_OK);
Result := FALSE;
end;
这是一段非常简单的代码,但总是失败。我检查了 的内容UninstallString
并且它们是正确的 ( C:\Windows\unins000.exe
) 但Exec失败并出现错误:“目录名称无效。”
它似乎无法正确读取“UninstallString”的内容,因为如果我手动输入它们(例如Exec('C:\Windows\unins000.exe, ...
)它工作正常。
如何Exec
按预期处理字符串“UninstallString”?