使用 inno setup 甚至 "newly created file by Application" 卸载所有内容
Uninstall everything even "newly created file by Application" using inno setup
我使用 INNO Setup 为我的应用程序 "Demo"(.Net app) 创建了安装程序。在不启动我们的应用程序的情况下,安装和卸载工作顺利。
如果应用程序启动,则卸载不会清除所有内容。因为我的应用程序更新现有文件并在启动期间创建一些文件。
那么我们如何在启动后清理所有内容?
我的脚本代码可用 @ script code
提前致谢
您可以通过两种方式实现。
第一个简单,但不会通知用户删除 new/changed/additional 个文件:
[UninstallDelete]
Type: filesandordirs; Name: "{app}"
{app}
扩展为您应用程序的完整路径。
默认情况下(基于您的代码段)它将等于 DefaultDirName={pf}\{#MyAppName}\{#MyAppName}
.
第 2 个问题 MsgBox 代码片段:
[Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usUninstall then begin
if MsgBox('Do you want to delete all data files?', mbConfirmation,
MB_YESNO) = IDYES
then begin
DelTree(ExpandConstant('{app}'), False, True, True);
//first False makes that the main Directory will not be deleted by function
//but it will be by the end of Uninstallation
end;
end;
end;
我使用 INNO Setup 为我的应用程序 "Demo"(.Net app) 创建了安装程序。在不启动我们的应用程序的情况下,安装和卸载工作顺利。
如果应用程序启动,则卸载不会清除所有内容。因为我的应用程序更新现有文件并在启动期间创建一些文件。
那么我们如何在启动后清理所有内容?
我的脚本代码可用 @ script code
提前致谢
您可以通过两种方式实现。
第一个简单,但不会通知用户删除 new/changed/additional 个文件:
[UninstallDelete]
Type: filesandordirs; Name: "{app}"
{app}
扩展为您应用程序的完整路径。
默认情况下(基于您的代码段)它将等于 DefaultDirName={pf}\{#MyAppName}\{#MyAppName}
.
第 2 个问题 MsgBox 代码片段:
[Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usUninstall then begin
if MsgBox('Do you want to delete all data files?', mbConfirmation,
MB_YESNO) = IDYES
then begin
DelTree(ExpandConstant('{app}'), False, True, True);
//first False makes that the main Directory will not be deleted by function
//but it will be by the end of Uninstallation
end;
end;
end;