|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4] |
|
Скрипты Inno Setup. Помощь и советы [часть 4]
|
Ветеран Сообщения: 1271 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 Скрипты Inno Setup. Помощь и советы [часть 3] Продолжение обсуждения Скрипты Inno Setup. Помощь и советы [часть 5] |
|
Отправлено: 18:01, 29-08-2011 |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Devils Night:
R.i.m.s.k.y., уже просто не хочет, почемуто работать в CurUninstallStepChanged, попробовал в DeinitializeUninstall - там заработало. |
|
------- Последний раз редактировалось Gnom_aka_Lexander, 05-12-2011 в 12:27. Отправлено: 11:19, 05-12-2011 | #321 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Лександер, ты через реестр хочешь выдирать путь до папок? неправильно, сильно глюкаво сие есть
лучше пример из шапки адаптируй как Devils Night надо не, я мог бы и сам, но мой большой толстый скрипт из которого я примеры дергаю лежит дома а тут делов то, к CurUninstallStepChanged прикрутить удаление папки из перечисленного в шапке |
------- Последний раз редактировалось R.i.m.s.k.y., 05-12-2011 в 11:54. Отправлено: 11:27, 05-12-2011 | #322 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать как-то так
const MAX_PATH = 260; // Папка пользователя (обычно C:\Documents and Settings\username) CSIDL_PROFILE = $28; function SHGetSpecialFolderPath(hwndOwner: HWND; lpszPath: PChar; nFolder: Integer; fCreate: BOOL): BOOL; external 'SHGetSpecialFolderPathA@shell32.dll stdcall'; function GetSpecialPath(CSIDL: Word): string; var s: string; begin SetLength(s, MAX_PATH); if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, True) then s := ''; Result:= PChar(s); end; procedure RD(Dir:string); begin Exec('cmd.exe', ' /c rd /S /Q ' + AddQuotes(Dir),ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res); Exec('cmd.exe', ' /c rd /S /Q ' + '"'+Dir+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res); end; procedure RF(file:string); begin Exec('cmd.exe', ' /c del /F /Q ' + AddQuotes(file),ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res); Exec('cmd.exe', ' /c erase /F /Q ' + '"'+file+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res); end; procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep=usDone then RD(RemoveBackslashUnlessRoot(GetSpecialPath(CSIDL_PROFILE))+'\MyProgs'); end; я своими RD/RF пользуюсь |
------- Последний раз редактировалось R.i.m.s.k.y., 05-12-2011 в 12:26. Отправлено: 11:59, 05-12-2011 | #323 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Лександер, я вообще-то путь удаления взял из твоего скрипта выше
свой скрипт поправил к тому же это плохой тон править сообщения выше после критики снизу |
------- Последний раз редактировалось R.i.m.s.k.y., 05-12-2011 в 14:02. Отправлено: 12:24, 05-12-2011 | #324 |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать Цитата R.i.m.s.k.y.:
Цитата R.i.m.s.k.y.:
Разве нет? |
||
------- Последний раз редактировалось Gnom_aka_Lexander, 05-12-2011 в 12:41. Отправлено: 12:32, 05-12-2011 | #325 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата Лександер:
я не знаю что там с DelTree, когда я столкнулся что на шаге ssInstall ничего не удаляется, я стал использовать RF/RD что в примере выше |
|
------- Последний раз редактировалось R.i.m.s.k.y., 05-12-2011 в 12:44. Отправлено: 12:37, 05-12-2011 | #326 |
Ветеран Сообщения: 1271
|
Профиль | Отправить PM | Цитировать Цитата R.i.m.s.k.y.:
P.S. Получить userprofile штатно: |
|
Отправлено: 19:23, 05-12-2011 | #327 |
Пользователь Сообщения: 91
|
Профиль | Сайт | Отправить PM | Цитировать Если приложение "мультиразрядное"...
1. Сам по себе Inno Setup по умолчанию делает "универсальные" установщики, которые будут работать на всех ОС или нет? Если к примеру, программа может работать как на 32-х, так и на 64-х разрядной версиях Windows, то нужно ли в скрипте установки указывать какие-нибудь дополнительные параметры? Например: "ArchitecturesAllowed=x86 x64 и/или "ArchitecturesInstallIn64BitMode=x64"? А также если программа по умолчанию должна устанавливаться в в папку "Program Files", то путь прописывать какой константой: "{pf}" или "{pf32}"? Аналогичный вопрос по поводу папки Windows и System как с ними быть в 64-х разрядной ОС? ИМЕЕТСЯ ВВИДУ, ЧТО ПРИЛОЖЕНИЕ СОДЕРЖИТ 64-Х РАЗРЯДНЫЕ МОДУЛИ: системные файлы, библиотеки, драйвера, а не просто поддерживают обе версии ОС. Т.к. как большинство 32-х разрядных приложений может вполне нормально работать и на 64-х разрядной ОС! ИЛИ ЖЕ ВСЕ ЭТИ "ТОНКОСТИ" НУЖНЫ ЛИШЬ КОГДА ПРИЛОЖЕНИЕ 64-х РАЗРЯДНОЕ и будет работать, только на 64-х разрядной ОС? 2. Ещё подобный вопрос по поводу 32-х разрядного приложения, которое будет запускаться на 64-х разрядной ОС, в таком случае, что писать в скрипте? 3. И последнее, когда приложение само по себе 64-х разрядное, то установщик для неё то же должен быть 64-х разрядным? Т.е. чтобы инстал был 64-х разрядным и вообще НЕ запускался на 32-х разрядной ОС. Умеет ли Inno Setup это делать и можно ли собрать установщик для 64-х разрядного приложения на 32-х разрядной ОС? |
Отправлено: 20:35, 05-12-2011 | #328 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата TROY Diamond:
Цитата TROY Diamond:
или зависит от самого приложения где ему комфортней Цитата TROY Diamond:
читай в справке 64-bit Installation Limitations и Install Mode: 32-bit vs. 64-bit Цитата TROY Diamond:
Цитата TROY Diamond:
Цитата TROY Diamond:
Цитата TROY Diamond:
пишешь ArchitecturesInstallIn64BitMode=x64 Цитата TROY Diamond:
Цитата TROY Diamond:
при четком понимании процесса и ясной голове проблем не возникнет ПыСы: какие вопросы такие и ответы ArchitecturesAllowed задает тип винды на котором запускается инсталлер по умолчанию пустой, инсталлер работает в вин32 как родной, в вин64 как 32 битное приложение, если прописать только один тип винды, то на другой инсталлер не заработает, напишет неподдерживаемая венда и закроется ArchitecturesInstallIn64BitMode=х64 говорит инсталлеру что в вин64 он будет как вин64 приложение, от этого зависят пути до папок, ключи реестра и прочее прочитай 64-bit Installation Limitations и Install Mode: 32-bit vs. 64-bit Цитата El Sanchez:
|
||||||||||
------- Последний раз редактировалось R.i.m.s.k.y., 05-12-2011 в 21:30. Отправлено: 21:15, 05-12-2011 | #329 |
Забанен Сообщения: 216
|
Еще три вопроса. Как сделать вот что? 1. Вопрос a) При нажатии на кнопку выводил адрес шлюза с возможностью копирования его по кнопке. b) Трассировку маршрута, т.е на странице дополнительных задач было окно в котором вводится шлюз и по нажатии Ок происходит трассировка или как там ещё называется.Визуально представить это могу, но чтобы средствами Inno это сделать, просто в голове не укладывается. 2. Вопрос Как сделать четыре кнопки Изменить, Запустить, Удалить и Отмена 3. Вопрос Как сделать так чтобы при установки определялась версия Net.Framework 3.5, если он не установлен, то сначало устанавливался Net.Framework 3.5 из папки Others, а потом продолжалася установка, если установлен то продолжал установку? |
Последний раз редактировалось Devils Night, 06-12-2011 в 06:50. Отправлено: 02:59, 06-12-2011 | #330 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Test | ferget | Тест-форум | 0 | 24-08-2011 01:25 | |
test | ! ! Aaa ! ! | Тест-форум | 0 | 23-04-2011 11:29 | |
test | Santa aka Snt | Тест-форум | 0 | 16-04-2011 22:35 | |
test | xolod. | Программное обеспечение Linux и FreeBSD | 0 | 19-04-2009 21:03 | |
Test memory | KEugeNik | Хочу все знать | 11 | 23-11-2003 23:11 |
|