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

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

Аватара для kotkovets

Ветеран


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

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


Цитата a--e:
так. если я все правильно понял, для каждого файла *.pat файл надо создавать отдельно? »
совершенно верно, нужно для каждого файла, и файл .pat для конкретного файла свой
я скрипты писал и на 7000 строк и нормально, дело тренировки, можно для этих дел макрос сварганить и 15 раз вызывать.

Вот такой макрос для себя делал, пользуйтесь:
Код: Выделить весь код
Page Instfiles
Name "Example"
OutFile "Example.exe"
ShowInstDetails show

!define VPatchFile "!insertmacro VPatchFile"
!macro VPatchFile PATCHDATA SOURCEFILE TEMPFILE VALUE
  Push $1
  Push $2
  Push $3
  Push $4
  Push `${SOURCEFILE}`
  Push `${TEMPFILE}`
  Pop $2
  Pop $3
  InitPluginsDir
  GetTempFileName `$1` $PLUGINSDIR
  File `/oname=$1` `${PATCHDATA}`
  vpatch::vpatchfile `$1` `$3` `$2`
  Pop $4
  StrCpy $4 $4 2
  StrCmp $4 "OK" +4
  SetErrors
  DetailPrint "Vpatch: error"
  Goto +6
  IntCmp ${VALUE} 1 0 +6 +6
  IfFileExists `$2` 0 +4
  Delete $3
  Rename /REBOOTOK `$3` `$2`
  Delete $1
  Pop $4
  Pop $3
  Pop $2
  Pop $1
!macroend

Section "Main"
  SetOutPath "$EXEDIR"
  File "D:\Nero_designer\Nero Burning ROM\nero.exe"
  ${VPatchFile} "Nero.pat" "$EXEDIR\Nero.exe" "Nero Express.exe" 1
SectionEnd
Nero.pat - должен лежать рядом со скриптом
Nero Express.exe - имя пропатченного файла, т.е сохраниться с указанным именем в одной директории оригинального файла
1- удалить оригинал, 0 - не удалять
Условие: имя оригинала и патченного файла не должны совпадать

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.


Последний раз редактировалось kotkovets, 07-04-2011 в 14:16.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:52, 07-04-2011 | #1042