![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 6] |
|
Скрипты Inno Setup. Помощь и советы [часть 6]
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: |
|
Отправлено: 19:06, 28-03-2013 |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать Цитата ChVL:
[Registry] Root: HKCR; SubKey: .323; ValueType: string; ValueData: """C:\Program Files\MyTeam\MyProg\MyProg.exe"",0"; Flags: uninsdeletevalue uninsdeletekeyifempty Root: HKCR; SubKey: .323; ValueType: string; ValueData: """C:\Program Files\MyTeam\MyProg\MyProg.exe"" --started-from-file ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty Правильней будет так: [Registry] Root: HKCR; SubKey: .323; ValueType: string; ValueData: """{app}\MyTeam\MyProg\MyProg.exe"",0"; Flags: uninsdeletevalue uninsdeletekeyifempty Root: HKCR; SubKey: .323; ValueType: string; ValueData: """{app}\MyTeam\MyProg\MyProg.exe"" --started-from-file ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty А если учитывать то, что если в секции [Setup] будет прописан путь в DefaultDirName т.е то в секции [Registry] можно удалить лишние значения: [Registry] Root: HKCR; SubKey: .323; ValueType: string; ValueData: """{app}\MyProg.exe"",0"; Flags: uninsdeletevalue uninsdeletekeyifempty Root: HKCR; SubKey: .323; ValueType: string; ValueData: """{app}\MyProg.exe"" --started-from-file ""%1"""; Flags: uninsdeletevalue uninsdeletekeyifempty Цитата El Sanchez:
|
||
Отправлено: 18:27, 15-02-2014 | #2281 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 254
|
Профиль | Отправить PM | Цитировать Nordek,
Какой должна быть правильная запись, я знаю. Всё, что Вы здесь расписали - так и сделано. Ещё раз внимательно прочтите мой пост. Вопрос в другом: как автоматически пройти тот путь, который указан в моём посте, т.е. исключить необходимость ручной правки скрипта. P.S. И с какой целью Вы мне сделали особое приглашение, я так и не понял. |
Последний раз редактировалось ChVL, 15-02-2014 в 19:22. Отправлено: 19:15, 15-02-2014 | #2282 |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать Цитата ChVL:
Экспортированно через Цитата ChVL:
ISTool и InnoIDE не умеют правильно обрабатывать ключи. Для этого используй Converter или Inno Script Studio - вставляют правильно, без слеша.. Цитата ChVL:
Например если в файле reg присутствует путь "C:\\Program Files\\MyTeam\\MyProg\\MyProg.exe" то в ValueData так и запишется "C:\Program Files\MyTeam\MyProg\MyProg.exe" и речи, ни о каких "{app}\MyProg.exe" не может быть идти т.к в программах за ранее не заложена вставка-(автоматическая замена) переменных Inno для реестра. И ещё один момент: На кой в секции [Registry] прописаны эти: Root: "HKCR"; Subkey: ".323"; ValueType: string; ValueData: """C:\Program Files\MyTeam\MyProg\MyProg.exe"",0" Root: "HKCR"; Subkey: ".323"; ValueType: string; ValueData: """C:\Program Files\MyTeam\MyProg\MyProg.exe"" --started-from-file ""%1""" Одна для значка а другая исполняемая? При инсталляции запишется только одна, т.е при инсталляции запишется первая - а затем первую, заменит вторая - либо наоборот. По этому всё равно запишется только одно значение. Правильнее будет так (покажу на примере ассоциации расширения *.text к AkelPad-у): [Registry] Root: HKLM; Subkey: Software\Classes\.text; ValueType: string; ValueName: ; ValueData: AkelPad.Note; Flags: uninsdeletevalue Root: HKLM; Subkey: Software\Classes\AkelPad.Note\DefaultIcon; ValueType: string; ValueName: ; ValueData: {app}\AkelPad.exe,1; Flags: uninsdeletevalue Root: HKLM; Subkey: Software\Classes\AkelPad.Note\shell\open\command; ValueType: string; ValueName: ; ValueData: "{app}\AkelPad.exe ""%1"""; Flags: uninsdeletevalue |
|||
Последний раз редактировалось Nordek, 15-02-2014 в 21:39. Отправлено: 20:57, 15-02-2014 | #2283 |
Старожил Сообщения: 254
|
Профиль | Отправить PM | Цитировать Цитата Nordek:
ISTool и InnoIDE не умеют правильно обрабатывать ключи. Для этого используй Converter или Inno Script Studio - вставляют правильно, без слеша.. » Вот так и надо было ответить сразу. Спасибо. Добавлено. Строки были приведены для примера и взяты они были из разных ключей, просто реальные имена заменены на MyProg. Что Вы никак не успокоитесь. В каждом посте: то высокомерно делаете особое приглашение, то прямое указание, что я должен понимать в первую очередь. Вы точно знаете уровень моих знаний? И что надо в первую, а что во вторую очередь, а? С каких щей Вы присвоили себе право поучать? |
Последний раз редактировалось ChVL, 16-02-2014 в 07:05. Отправлено: 21:35, 15-02-2014 | #2284 |
Ветеран Сообщения: 608
|
Правильно ли я убираю рамку с едитов... Зарание спасибо...
Вот: var DirEditLabel, GroupEditLabel: TLabel; procedure InitializeWizard; begin DirEditLabel := TLabel.Create(WizardForm); with DirEditLabel do begin AutoSize:=False; SetBounds(ScaleX(5), ScaleY(85), ScaleX(446), ScaleY(15)); WordWrap:= True; ShowAccelChar := False; Transparent:=True; Font.Name:= 'Arial' Font.Size:= 9; Font.Color:=$000000; Font.Style:=[fsBold]; Caption := MinimizePathName(WizardForm.DirEdit.Text, DirEditLabel.Font, DirEditLabel.Width); Parent := WizardForm.SelectDirPage; end; GroupEditLabel := TLabel.Create(WizardForm); with GroupEditLabel do begin AutoSize:=False; SetBounds(ScaleX(5), ScaleY(85), ScaleX(446), ScaleY(15)); WordWrap:= True; ShowAccelChar := False; Transparent:=True; Font.Name:= 'Arial' Font.Size:= 9; Font.Color:=$000000; Font.Style:=[fsBold]; Caption := MinimizePathName(WizardForm.GroupEdit.Text, GroupEditLabel.Font, GroupEditLabel.Width); Parent := WizardForm.SelectProgramGroupPage; end; WizardForm.DirEdit.Text:= WizardForm.DirEdit.Text; end; procedure HideComponents; begin WizardForm.DirEdit.Hide; WizardForm.GroupEdit.Hide; DirEditLabel.Hide; GroupEditLabel.Hide; end; procedure CurPageChanged(CurPageID: Integer); begin HideComponents; case CurPageID of wpSelectDir: begin DirEditLabel.Show; end; wpSelectProgramGroup: GroupEditLabel.Show; end; end; |
Отправлено: 21:50, 15-02-2014 | #2285 |
Пользователь Сообщения: 110
|
Профиль | Отправить PM | Цитировать Проблема такая стоит автопределение установки по реестру, но если в реестре не находит то строка с путем пустая. Далее выбираем куда установить и оно приписывает конечным путем \Новая папка.
В оригинале хотелось бы, что если в реестре не находит игру, то самому выбрать папку куда ты хочешь установить, и чтобы не было конечным путем \Новая папка. Заранее спасибо за ответ! |
Отправлено: 23:33, 15-02-2014 | #2286 |
Ветеран Сообщения: 517
|
Профиль | Отправить PM | Цитировать Цитата Farser21:
[Setup] AppName=My Program AppVerName=My Program v.1.2 AppId=MyApp DefaultDirName={code:SetInstDir} [Code] function SetInstDir(const lpResult: String): String; begin RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1', 'InstallLocation', lpResult); if lpResult <> '' then Result := RemoveBackslash(lpResult) else Result := ExpandConstant('{pf}\My Program'); end; |
|
Последний раз редактировалось saurn, 16-02-2014 в 01:53. Отправлено: 00:22, 16-02-2014 | #2287 |
Пользователь Сообщения: 110
|
Профиль | Отправить PM | Цитировать saurn, Смотри этим способом мы в альтернативном пути ставим нужный путь место \Новая папка. А мне нужно чтобы альтернативного пути как бы не было. Т.е. если в реестре игру не нашло, то можно было просто указать папку куда устанавливать самому вручную.
|
Отправлено: 13:35, 16-02-2014 | #2288 |
Пользователь Сообщения: 110
|
Профиль | Отправить PM | Цитировать saurn, Задается не Новая папка а MyProgram, а мне нужно чтобы ничего вообще не задавалось. Чтобы абсолютно можно было самому в ручную выбрать нужную папку в установщике.
|
Отправлено: 15:18, 16-02-2014 | #2289 |
Ветеран Сообщения: 517
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:36, 16-02-2014 | #2290 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 | |
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] | Serega | Автоматическая установка приложений | 2651 | 08-11-2010 18:34 | |
Скрипты Inno Setup Compiler | QAZAK | Автоматическая установка приложений | 7 | 15-01-2007 17:59 |
|