Итак, я просто взял Inno сегодня, чтобы попытаться получить базовый установщик для игры Unity. Узел установки Inno работает отлично, к сожалению, деинсталлятор не работает вообще. Я прошел через документы и трал Google, и не видел много этой конкретной проблемы. В документах Inno рекомендуется использовать раздел [UninstallDelete], который я пробовал, с аналогичными результатами.Inno Installer не удаляет файлы
[Setup]
AppName=Installable Files
AppVersion=1.0
DefaultDirName={pf}\Installable Files
DefaultGroupName=Installable Files
UninstallDisplayIcon={app}\File.exe
Compression=lzma2
UninstallFilesDir={app}\uninst
SolidCompression=yes
[Files]
Source: "File.exe"; DestDir: "{app}"; DestName: "File.exe"
Source: "Files\*"; DestDir: "{app}\Files"; Flags: recursesubdirs
Source: "Files\README.txt"; DestDir: "{app}"; Flags: isreadme
[Icons]
Name: "{group}\Files"; Filename: "{app}\File.exe"; WorkingDir: "{app}"
[UninstallDelete]
Type: filesandordirs; Name: "{pf}\Files"
Выход из кода выше говорит, что удаление всех файлов в подкаталогах, но не может удалить каталог ж/(145) код ошибки, а затем утверждает процесс unistallation удалось. Это то же самое, я запускаю деинсталлятор из компилятора Inno Setup, uninst000.exe или из программы «Установка и удаление программ» в Windows.
Установщик/деинсталлятор, который фактически не удаляет что-либо, раздражает, поэтому, если есть какое-либо понимание этой проблемы, это было бы здорово.
(Пожалуйста, обратите внимание, что я также пытался удалить отдельные файлы под [UninstallDelete], такие как Type: files; Name: "{app}\LGODemo.exe"
с нулевым успехом)
EDIT: After Install
Как изображения показывают, ни один из файлы удаляются из-за ошибки 145. Затем деинсталлятор повторяет попытку и, по-видимому, удаляет папки, за исключением того, что они все еще существуют, и файл по-прежнему выполняется на 100%. Я только добавил раздел UninstallDelete, когда файл деинсталляции был неудачным.
Извините за ссылки на Dropbox, не могу опубликовать imgs, пока у меня не появится лучший реп.
Хм, я никогда не использую '[UninstallDelete]' раздел в моем InnoSetup сценария и до сих пор деинсталлятор InnoSetup работает правильно. Интересно, что не так в вашем скрипте InnoSetup ... –
Возможно, вы должны поместить двойные кавычки между этими строками с пробелами в разделе '[Setup]' ... просто мое предположение для решения ... –
Или вы можете определить переменную для представления повторяющейся строки: например, '#define MyTitleName" Life Goes On Demo "и использовать идентификатор' {#MyTitleName} 'следующим образом:' DefaultDirName = {pf} \ {# MyTitleName } '. Делая это, вы можете избежать ошибки из-за невидимых пробелов в этих повторяющихся строках. –