Цитата AlekseyPopovv:
Как удалить папку с деинсталлятором из папки $TEMP? »
|
Можно воспользоваться ключом "/REBOOTOK" в команде удаления папки/файла, при указании данного ключа и невозможности удаления в момент исполнения инсталлятора, папка/файл будет удалена после перезагрузки Windows
Если нужно удалить без перезагрузки, то можно сделать отдельный EXE, запускать его со своим ключом, передавая полный путь удаляемого файла деинсталлятора.
В коде отдельного EXE, соответственно, нужно будет прочитать значение переданного пути файла деинсталлятора и, поместив в цикл с ожиданием и проверкой существования файла - пытаться удалять файл деинсталлятора
Может есть еще какие более красивые методы, не особо интересовался этим вопросом последние "цать" лет
Цитата AlekseyPopovv:
Мне вот больше всего нравится, что многие знают как защитить инсталлятор от распаковки, т.к. сами этим пользуются. Отправляют искать на просторах интернета, а потом говорят что ты этого ни где не найдёшь, и теперь даже не купишь. Это что, секретная разработка какая то? Или вы это купили по цене квартиры? Прям всё желание отбивает что то писать... »
|
Вам пошаговое руководство написать? Люди скрипты на NSIS не все могут писать, а уж писать огромную статью, как пересобрать билд NSIS - ну такое себе...Да и кому это нужно?
В официальной справке есть
Appendix G: Building NSIS, это вам поможет вам пересобрать билд.
На вопрос "Как защитить инсталлятор от распаковки" отвечу вам просто: секретной кнопочки нет, которая бы делала это в 1 клик.
Там в исходниках самого NSIS и в заголовочных файлах упаковщиков меняется пара надписей и всё это дело пересобирается. Скажите, лично вы, будете так заморачиваться? Прям вижу, как у вас появилось желание качнуть дистрибутив с исходниками NSIS и какой-нибудь Microsoft Visual C++ 2005...
1. Качаете исходники NSIS
2. Правите нужные файлы в нужных местах
3. Правите файлы заголовочных файлов упаковщиков
4. Собираете свой билд NSIS
5. Его все благополучно вскрывают, т.к. метод всем давно известный
Так какой смысл в этой "защите"?