MaGoth, а как у вас с правами доступа к файлу? А может в это время данный файл занят другим процессом? У меня все работает. Вот смотрите простенький пример. Сделали пустой документ RTF (License.rtf). Сделали для него инсталлятор. После завершения установки изменяем его временную метку.
читать дальше »
Код:
Name "DataTimeStamp Change"
OutFile "DTSC.exe"
InstallDir "$PROGRAMFILES\TESSST"
XPStyle on
Section
SetOutPath $INSTDIR
File License.rtf
SectionEnd
Function .onInit
InitPluginsDir
SetOutPath $PLUGINSDIR
# распаковываем утилиту timestomp.exe во временную папку плагинов
File "${NSISDIR}\Bin\timestomp.exe"
FunctionEnd
Function .onInstSuccess
# после успешной установки файлов, меняем времменную метку файла
nsExec::ExecToStack '"$PLUGINSDIR\timestomp.exe" "$INSTDIR\License.rtf" -z "Saturday 10/08/2005 2:02:02 PM"'
FunctionEnd
Function .onGUIEnd
# при закрытии инсталлятора удаляем утилиту из временной папки
Delete "$PLUGINSDIR\timestomp.exe"
FunctionEnd
Попробуйте свою задачу разбить на отдельные узлы. Отладьте каждый из узлов, удостоверьтесь, что он выполняет возложенную на него функцию. А потом сведите все в окончательный файл сценария. Возможно инсталлятор нужно запускать с правами Администратора или делегировать эти полномочия на файл утилиты timestomp.exe.