Is it possible to run a file with Inno Setup, before the setup beginns? Documentation
Asked
Active
Viewed 3.2k times
2 Answers
29
Yes it is. In the [code]
section run the file in the InitializeSetup()
function. This example launches notepad before the setup runs.
function InitializeSetup(): boolean;
var
ResultCode: integer;
begin
// Launch Notepad and wait for it to terminate
if Exec(ExpandConstant('{win}\notepad.exe'), '', '', SW_SHOW,
ewWaitUntilTerminated, ResultCode) then
begin
// handle success if necessary; ResultCode contains the exit code
end
else begin
// handle failure if necessary; ResultCode contains the error code
end;
// Proceed Setup
Result := True;
end;
-
26This should not be done in InitializeSetup if it changes anything on the users computer. This should be done after the user has pressed "Install", i.e. PrepareToInstall() or CurStepChanged(ssInstall). – Deanna Jul 25 '11 at 15:44
1
[Code]
function PrepareToInstall(var NeedsRestart: Boolean): String;
var
ResultCode: integer;
begin
ExtractTemporaryFile('卸载.bat');
if Exec(ExpandConstant('{tmp}\卸载.bat'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
begin
end
else begin
end;
end;

user18677603
- 11
- 2
-
If you want to run the bat file in the exe when you click next, the above code is perfect – user18677603 Jul 14 '22 at 15:38
-