Я использую GameuxInstallHelper.dll, чтобы зарегистрировать свою игру при установке в Games Explorer.
Но по некоторым причинам DLL остается в папке моего приложения после удаления, но только на Win XP.На Win 7 и Vista все файлы удаляются.
Используемый код:
function CheckXPOs(): Boolean;
begin
if GetWindowsVersion shr 24 < 6 then Result:=TRUE
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
mres : integer;
begin
if CurUninstallStep = usUninstall then
begin
#ifdef AddToGameExplorer
if not CheckXPOs then
begin
RetrieveGUIDForApplication(ExpandConstant('{app}'+GE_resource), GUID);
RemoveFromGameExplorer(GUID);
RemoveTasks(GUID);
UnloadDll(ExpandConstant('{app}\GameuxInstallHelper.dll'));
end;
#endif
end;
case CurUninstallStep of
usPostUninstall:
begin
mres := MsgBox(ExpandConstant('{cm:removemsg}'), mbConfirmation, MB_YESNO)
if mres = IDYES then
DelTree(ExpandConstant('{app}'), True, True, True);
end;
end;
end;
Любая идея, почему DLL не удаляется в операционных системах XP и как я могу удалить его?Я пробовал функцию DeleteFile после выгрузки dll, я также пытался создать другую функцию для поиска этой конкретной dll, но ничего не помогло мне решить проблему.И dll не используется, потому что вручную ОС позволяет мне удалить его.