卸载无法删除注册表项

时间:2019-04-10 14:40:47

标签: inno-setup

我使用Inno Setup安装Access数据库。它添加了一些注册表项,主要是受信任的位置,在卸载过程中将被删除。从“控制面板-程序和功能”卸载时,此操作一直有效。在Windows 10下仍然可以这种方式工作。但是,在Windows 10下使用“设置-应用程序和功能”进行卸载时,它不起作用。知道为什么以及如何解决这个问题吗? 奥斯卡。

Root: HKCU; Subkey: "Software\Microsoft\Office\12.0\Access\Security\Trusted Locations\PLAMES"; valuetype: string; valuename: "Path"; valuedata: "{app}\"; Flags: createvalueifdoesntexist uninsdeletekey

编辑1。除了不删除注册表项之外,卸载过程还可以选择删除某些目录。相同的问题:在Windows 10下,从“控制面板”-“程序和功能”卸载时,此方法工作正常,但从“设置”-“应用程序和功能”安装时,此方法不起作用。用于选择性删除目录的代码:

[Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var Entry: String;
begin
//If we reached the post uninstall step (uninstall succeeded), then...
    if CurUninstallStep = usPostUninstall then
    begin
//Ask about uninstalling the data folder in My Documents.
        if MsgBox(ExpandConstant('{cm:UninstallFolders}'), mbInformation, MB_YesNo) = idYes then
//Delete the folder.
        begin
            Entry := ExpandConstant('{userdocs}') + '\PlaMES Datafile\';
            if DirExists(Entry) then begin
                DelTree(Entry, true, true, true);
            end;
        end;
    end;
end;

编辑2。在我看来,问题不在Inno Setup中,而是Windows 10处理卸载的方式。这可能会或可能不仅限于Inno Setup作为安装程序。抱歉,这表示我标记不好。我发现莫名其妙的是:(1)使用控制面板-程序和功能进行卸载时,一切正常,软件/数据库被删除,注册表整个被删除,目录被删除; (2)使用设置-应用和功能进行卸载时,软件/数据库已删除,但注册表项未删除,目录也未删除。为什么? Windows 10是否有两种不同的卸载方法?

0 个答案:

没有答案
相关问题