|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив] Скрипты Inno Setup. Помощь и советы [часть 2] |
|
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]
|
Ветеран Сообщения: 1133 |
Профиль | Отправить PM | Цитировать
Лимит страниц.
Тема закрыта. Продолжение по ссылке Скрипты Inno Setup. Помощь и советы [часть 3] Внимание! Данная тема предназначена только для обсуждения написания скриптов ! Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Ссылка на архив предыдущей темы (также можно скачать из вложения) |
|
------- Отправлено: 22:06, 23-08-2009 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Я имел ввиду, запрос на удаление...т.е. либо окошко, либо галочку поставить при деинсталяции..
|
Отправлено: 03:13, 27-05-2010 | #1831 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата EN130:
Comments may be embedded in expression by using a slash and an asterisk. For example: #emit Var1 /* this is a comment */ + Var2 /* this is a comment */ Also one line comments are supported. Those comments must begin with a semicolon. Whole text after the semicolon up to the end of a line is considered comment. #emit Var1 + Var2 ; this is a comment Please note that line spanning feature is triggered before any further processing, thus a comment may occupy more than one line: #emit Var1 + Var2 ; this is \ a comment You can put "comments" in the script (which are ignored by the compiler) by placing a semicolon at the beginning of a line. For example: ; This is a comment. I could put reminders to myself here... В коде в любом месте строки "//" или " /* */ " в середине строки. Без кавык есссно. |
|
------- Отправлено: 08:53, 27-05-2010 | #1832 |
Старожил Сообщения: 443
|
Профиль | Отправить PM | Цитировать Все компилировалось, вот только МП3 не играет. А судя по тому, что и кнопок для управления проигрыванием нет, то вся часть про МП3 не отрабатывается.
Пробовал для проигрывания МП3 использовать такой код но музыка все равно и не играет. Может подскажете в чем проблема? |
------- Отправлено: 11:31, 27-05-2010 | #1833 |
Старожил Сообщения: 443
|
Профиль | Отправить PM | Цитировать --- Добавил.
Понял в чем проблема. Подскажите, как правильно переименовать несколько procedure InitializeWizard(); так, чтобы они не конфликтовали? |
------- Отправлено: 12:13, 27-05-2010 | #1834 |
Сообщения: 3652
|
Профиль | Сайт | Отправить PM | Цитировать cleric1985_n, тогда так:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); var Res: Integer; begin case CurUninstallStep of usPostUninstall: begin //Проверяем присутствие папки после удаления If DirExists(ExpandConstant('{app}')+'') then //Создаем диалог с тремя кнопками case MsgBox('Папка "'+ExpandConstant('{app}')+'" не пуста.'#13#13 + '"Да" – полное удаление всех файлов в папке, включая саму папку.' #13#13 + '"Нет" – открыть папку в проводнике, чтобы вручную удалить файлы.'#13#13 + '"Отмена" – ничего не делать, удалить папку позже самостоятельно.', mbInformation, MB_YESNOCANCEL) of IDYES: begin if not DelTree(ExpandConstant('{app}')+'', True, True, True) then MsgBox('Папка не удалена.' #13#13 'Папка или один из файлов в ней задействованы другим приложением.', mbError, MB_OK); end; IDNO: begin if not ShellExec('open', ExpandConstant('{app}')+'', '', '', SW_SHOWMAXIMIZED, ewNoWait, Res) then MsgBox('Ошибка открытия.' #13#13 'Папка не найдена.', mbError, MB_OK); end; IDCANCEL: begin end; end; end; end; end; |
------- Отправлено: 14:25, 27-05-2010 | #1835 |
Старожил Сообщения: 440
|
Профиль | Сайт | Отправить PM | Цитировать EN130,
Где-нибудь в конце скрипта дописываете: Procedure InitializeWizard(); begin InitializeWizard1(); InitializeWizard2(); InitializeWizard3(); InitializeWizard4(); InitializeWizard5(); InitializeWizard7(); InitializeWizard8(); // сколько будете использовать процедур InitializeWizard. end; Можно так-же и другие процедуры использовать: Например. |
Отправлено: 16:10, 27-05-2010 | #1836 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Habetdin, Так то так, но это уже через секцию [code]. Значит я так понял - что реализовать это нельзя...)
|
Отправлено: 17:56, 27-05-2010 | #1837 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Реестр:
procedure DeinitializeSetup(); var S: TArrayOfString; F: String; V1: String; V2: String; V3: String; begin RegQueryBinaryValue(HKLM, 'Software\Classes\Trilogy', 'Value1', V1) RegQueryBinaryValue(HKLM, 'Software\Classes\Trilogy', 'Value2', V2) RegQueryBinaryValue(HKLM, 'Software\Classes\Trilogy', 'Value3', V3) F := ExpandConstant('{reg:HKLM32\Software\VST,VSTPluginsPath|{syswow64}\Plugins}\Trilogy\Trilogy.inf'); SetArrayLength(S, 12); // ------------------------------------------------------------------------------------------------------------------------------------- S[00] := '[Version]' S[01] := 'Signature=$Windows NT$' S[02] := '' S[03] := '[DefaultInstall]' S[04] := 'AddReg=Add.Reg' S[05] := '' S[06] := '[Add.Reg]' S[07] := 'HKLM,"Software\Classes\Trilogy","Value1",0x24001,"' + ExpandConstant(V1) + '"' S[08] := 'HKLM,"Software\Classes\Trilogy","Value2",0x24001,"' + V2 + '"' S[09] := 'HKLM,"Software\Classes\Trilogy","Value3",0x24001,"' + V3 + '"' S[10] := 'HKLM,"Software\Microsoft\Windows\CurrentVersion\App Paths\Trilogy.exe",,0x4000,"' + ExpandConstant('{reg:HKLM32\Software\VST,Proton.exe|{syswow64}\Proton}') + '\Trilogy\Trilogy.exe"' S[11] := 'HKLM,"Software\Microsoft\Windows\CurrentVersion\App Paths\Trilogy.exe","Path",0x4000,"' + ExpandConstant('{reg:HKLM32\Software\VST,Proton.exe|{syswow64}\Proton}') + '\Trilogy"' // ------------------------------------------------------------------------------------------------------------------------------------- SaveStringsToFile(F, S, False); end; Помогите решить задачу? Думаю из кода понятно что я хочу? Надо написать INF-файл Может REG_NONE не поддерживается? Или надо строку конвертировать как-то? Как? |
------- Отправлено: 09:10, 28-05-2010 | #1838 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата semiono:
Можете набрать в командной строке Reg Add /? - почитайте. |
|
------- Отправлено: 09:34, 28-05-2010 | #1839 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать всем доброго времени суток, возможно глупый вопрос, но все же он есть, как указать путь распаковки только одному архиву?
|
Отправлено: 10:04, 28-05-2010 | #1840 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 | |
[архив] Inno Setup .:[все вопросы]:. | Mchik | Автоматическая установка приложений | 1329 | 23-08-2009 20:13 | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
Скрипты Inno Setup Compiler | QAZAK | Автоматическая установка приложений | 7 | 15-01-2007 17:59 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|