Цитата nfs911:
Как решить эту проблему,рациональным способом?
теоретически код возврата должен быть после импорта, но на практике видимо иначе »
|
Хотите сказать, команда не ждёт завершения исполнения импорта в реестр? Честно сказать, не использовал конкретно эту команду этого плагина, проверять лень
Воспользуйтесь исполнением regedit напрямую (хотя в документации к плагину сказано, что импорт также производится через regedit)
Код:
![Выделить весь код](images/misc/selectcode.png)
ExecWait '$WINDIR\regedit.exe /s "путь к reg файлу"'
Цитата Igor M:
Столкнулся с необходимостью в деинсталляторе удалять только установленные инсталлером файлы, а не всю папку. »
|
Цитата Igor M:
Неужели нет простого и лёгкого способа решить указанную проблему? »
|
1. Создавать список файлов вручную и закидывать их в скрипт, как предложил выше
Kopejkin
2. Выполнять поиск файлов командой
Locate в папке установки после распаковки всех файлов и создавать список в INI формате, записывая в файл, в денисталляторе обрабатывать файл и удалять файлы проходясь по списку.
3. Если используете графический интерфейс при установке, можно попробовать поковырять пример кода
LOG-файл установки из нашего справочника, за место записи лог-файла парсить каждую строку на предмет типа команды, т.е. прочитали строку, в ней например такой текст:
Код:
![Выделить весь код](images/misc/selectcode.png)
Создание ярлыка: C:\Program Files (x86)\Моя программа\explorer.lnk
берём из строки первые X символов (для команды ярлыка это 17 символов, текст+пробел), если эти первые 17 символов = строке
Создание ярлыка: , то отрезаем от строки первые 17 символов и остаётся только путь к ярлыку, его записываем в INI файл в секцию с ярлыками
По этой же логике делаем с другими командами, создание папок, копирование файлов и т.д....
"резать" строку по количеству символов можно командой
StrCpy