Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 112
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


Есть такой плагин WPatch
Вместе с ним идет пример сценария.

Код: Выделить весь код
; WPatch - Sample script

!system "rmdir /s /Q dir_to_patch"
!system "xcopy /E /Q /H dir1\* dir_to_patch\"

!ifdef TARGETDIR
!addplugindir "${TARGETDIR}"
!else
!addplugindir "..\..\bin"
!endif

Name "Sample WPatch"
OutFile Sample.exe
ShowInstDetails show
InstallDir $EXEDIR\dir_to_patch
Page directory
Page instfiles

Section
    InitPluginsDir
SectionEnd

!include WGenPatDir.nsh

Section
    IfErrors 0 +2
        MessageBox MB_OK "There has been some errors !"
SectionEnd
Вопрос по выделенным красным строках (для общего развития)

В примере также имеются папки с файлами dir1 и dir2. Соответственно, первая - с исходными файлами и папками, вторая - с измененными.
После запуске батника создается файл отличий *.pat и WGenPatDir.nsh, который в дальнейшем будет использоваться для пропатчивания.

Если я правильно понял вторую строку, то содержимое папки dir1 должно скопироваться в папку dir_to_patch во время компиляции сценария?
Созданный патч Sample.exe после запуска "натравливается" на содержимое этой папки dir_to_patch.

В реальности, папка dir_to_patch удаляется, а такая же, с исходным содержимым папки dir1, не появляется. В чем прикол?
В русскоязычном Руководстве о параметрах команды !system написано не очень много и не совсем по-русски.

Практически же, я в InstallDir прописываю путь к нужной мне (исходной) папке, содержимое которой дублируется в папке dir1 для создания данных патча , а выделенные красным строки игнорирую, как комментарий.

Последний раз редактировалось Kopejkin, 16-03-2014 в 15:16.


Отправлено: 15:10, 16-03-2014 | #1086