2015-02-27 3 views
0

В качестве части защиты от копирования моей игры установщик должен удалить себя после установки. Этот код:Inno Setup - удалить установщика после процесса установки

[Code] 
procedure MyAfterInstall(); 
begin 
    DeleteFile('F:\TEST_SETUP\setup.exe'); 
end; 

... ничего не делает, потому что установка работает. Есть ли решение для запуска «командной строки» или cmd, которое получает полный путь к установщику (оно может быть повсюду на диске клиента) и удалить его после установки?

ответ

0

Если вам необходимо удалить установщик сразу после установки, вам необходимо реализовать какое-то настраиваемое решение. Как вы уже убедились, исполняемый файл не может удалить себя, поскольку исполняемый файл заблокирован, когда он запущен.

Вы можете установить небольшой инструмент, который вы устанавливаете установщиком. Инструмент будет запускаться установщиком при завершении установки. Инструмент будет работать тихо и пытается удалить установщик, пока не будет успешно.

[Files] 
; Install the tool 
Source: "zapself.exe"; DestDir: "{app}" 

[Run] 
; Run the tool and pass the installer path 
Filename: "{app}\zapself.exe"; Parameters: "{srcexe}" 

Надо сказать, что я действительно не понимаю, почему вы пытаетесь это сделать.

Смежные вопросы