使用innosetup脚本删除以前安装的应用程序文件夹

Gau*_*uls 5 inno-setup

我正在使用脚本调用我的.net应用程序删除以前的应用程序.我想要的是从开始菜单(开始 - >程序 - > app1->卸载app1)实际删除文件夹(整个app1)?

谢谢高卢人

Cra*_*ken 11

如果您只想从"开始"菜单中删除"卸载app1"图标,则以下内容应该有效:

[InstallDelete]
Type: files; Name: "{group}\uninstall app1"
Run Code Online (Sandbox Code Playgroud)

如果要从开始菜单中删除整个程序组,请使用以下命令:

[InstallDelete]
Type: filesandordirs; Name: "{group}"
Run Code Online (Sandbox Code Playgroud)

这假设您的Inno Setup脚本开始菜单文件夹名称与之前的"app1"应用程序相同.

  • 如果您需要删除特定的菜单项,则需要应用.lnk,例如:类型:文件;名称:“{group}\卸载app1.lnk” (2认同)

小智 6

在解决方法之后,没有一个对我有用,这是我的解决方案; 在[设置]中

//Delete old entry folder from start menu
procedure DeleteOldStartMenuEntry;
var
 entry: String;
begin
 //Replace "Diviner" with desired folder name 
 entry := ExpandConstant('{commonprograms}') + '\Diviner\';
 if DirExists(entry) then begin
   DelTree(entry, true, true, true);
  end 
end;
Run Code Online (Sandbox Code Playgroud)

InitializeSetup里面调用你的程序:

function InitializeSetup: Boolean;
var:
    ....
begin
    ....
    DeleteOldStartMenuEntry;
    ....
end;
Run Code Online (Sandbox Code Playgroud)