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

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

Аватара для Damaks

Новый участник


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

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


Инсталлятор может после установки сам себя скопировать? Данный код не работает:
Код: Выделить весь код
FileCopy(ExpandConstant('{srcexe}'), 'C:\Test\test.exe', False);
Путь назначения берётся из переменной, которую вводят во время установки, поэтому в секции Run через "cmd.exe copy" не получится наверное. Хотя даже с фиксированными путями у меня не получалось скопировать, при любых вариацииях с кавычками (обрамление, экранирование) открывается дефолтная консоль и команда в неё не передаётся (при одном параметре она передаётся, при двух (источник/назначение) нет, при копировании вручную в консоль работает). Например:
Код: Выделить весь код
Filename: {sys}\cmd.exe; Parameters: "copy ""C:\In\test.exe"" ""C:\To\test.exe"""; Flags: shellexec runascurrentuser nowait
Здесь по аналогии с рабочим примером другой консольной утилиты применил похожий синтаксис, экранирование кавычек и обрамление всей команды.

Но это к слову, т.к. путь ещё нужно передать, не приходилось этого делать. Танцы с бубном (.bat) не хочется использовать, кто знает, какая система защиты у пользователя стоит, может отдельно запросить разрешение на запуск батника, а это совершенно лишнее.

Отправлено: 12:34, 01-11-2011 | #58