Ele*_*ios 12 installer inno-setup file
我需要在安装完成后删除一些文件.
我正在使用[RUN]部分调用CMD来删除文件,但是我想通过使用InnoSetup代码来改进删除而不是批处理然后我看到了[InstallDelete]部分,但这会在[RUN]部分之前删除文件所以...在[RUN]部分后我可以做些什么来删除文件?
这是我的脚本:
#define InstallerName "VirtualBox-4.2.16-r86992-MultiArch_amd64.msi"
#define ExtensionName "Oracle_VM_VirtualBox_Extension_Pack-4.2.16-86992.vbox-extpack"
[Setup]
AppName=VirtualBox
blah blah blah...
blah blah blah...
[Files]
Source: {tmp}\*; DestDir: {tmp}; Flags: deleteafterinstall recursesubdirs createallsubdirs ignoreversion
[Run]
Filename: {tmp}\{#InstallerName}; Parameters: "/passive /norestart ADDLOCAL=VBoxApplication INSTALLDIR=""{app}"""; StatusMsg: Instalando VirtualBox...; Flags: shellexec RunHidden WaitUntilTerminated
Filename: {tmp}\xml.exe; Parameters: "ed --inplace -N N=""http://www.innotek.de/VirtualBox-settings"" --update ""//N:ExtraDataItem[@name='GUI/UpdateDate']/@value"" --value never ""{%userprofile}\.virtualbox\virtualbox.xml"""; StatusMsg: Instalando VirtualBox...; Flags: RunHidden WaitUntilTerminated
Filename: {app}\VBoxManage.exe; Parameters: "extpack install --replace ""{tmp}\{#ExtensionName}"""; StatusMsg: Instalando Extension Pack...; Flags: RunHidden WaitUntilTerminated
Filename: {app}\virtualbox.exe; Description: {cm:LaunchProgram,VirtualBox}; Flags: shellexec postinstall unchecked skipifsilent nowait
[InstallDelete]
Name: {commondesktop}\Oracle VM VirtualBox.lnk; Type: files
Name: {commonstartmenu}\Programs\Oracle VM VirtualBox; Type: filesandordirs
Run Code Online (Sandbox Code Playgroud)
Ser*_*yuz 13
您可以在CurStepChanged事件处理程序的安装后步骤中删除文件
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then begin
DeleteFile(ExpandConstant('{commondesktop}\Oracle VM VirtualBox.lnk'));
..
Run Code Online (Sandbox Code Playgroud)
Mir*_*ral 12
如果您正在尝试删除临时文件(例如,子安装所需):
您安装的任何内容{tmp}将在安装结束时自动删除.
如果{tmp}由于某种原因你无法安装,那么你可以使用条目deleteafterinstall上的标志[Files].
如果您正在尝试删除该子安装程序创建的文件,那么您应该联系供应商或检查他们的文档,看看是否有一个命令行参数,您可以通过该参数来禁止首先安装该项目.通常应该有桌面图标等可选项.