我正在尝试在安装过程中安装软件。
我决定在temp文件夹中创建一个文件夹,如果该文件夹不存在,则首先要存储可执行文件我可以告诉{tmp}
将创建一个随机名称,并且我认为如果我尝试执行该文件,再次使用{tmp}
只会创建一个新的随机名称
// Check if utilites folder is in the temp folder
// if not we will create it here so there are no
// problems adding the files in the file section
if not DirExists(ExpandConstant('{%tmp}\Utilities\SDK')) then
ForceDirectories(ExpandConstant('{%tmp}\Utilities\SDK'));
他是File Section
的使用者,*
是我希望它能够获取该文件夹中的每个文件。
Source: "{#ExternalInstallers}\Foo\SDK\*"; DestDir: "{%tmp}\Utilities\SDK";Flags: recursesubdirs createallsubdirs ; check:InstallCheck('Foo')
然后从此处开始,如果将必需的布尔值设置为true,则文件的执行应从InitializeSetup()
if({#GNTCChecked})then
begin
Log('Start installing SDK for Foo Plugin...');
if not ShellExec('', ExpandConstant('{%tmp}\Utilities\SDK\setup.exe'), ExpandConstant('/S /v/qn'), '', SW_HIDE, ewWaitUntilTerminated, ErrorCode) then//added 18-05-2018 GK
begin
MsgBox('Cannot install Foo SDK! Foo may not work properly! Error Code: ' +IntToStr(ErrorCode) ,mbInformation, MB_OK);
Log('Cannot install Foo SDK! Foo may not work properly!');
end;
Log('Start installing CU7 for Foo Plugin...');
if not ShellExec('', ExpandConstant('{%tmp}\Utilities\SDK\FooBar.exe'), ExpandConstant('/S /v/qn'), '', SW_HIDE, ewWaitUntilTerminated, ErrorCode) then
begin
MsgBox('Cannot install CU7 for Foo! Foo may not work properly! Error Code: ' +IntToStr(ErrorCode) ,mbInformation, MB_OK);
Log('Cannot install CU7 for Foo! Foo may not work properly!');
end;
end;
end;
end;
我没有告诉过它任何显示问题的消息框,但是我要安装的程序中的附加消息确实安装了。