Показать полную графическую версию : [архив] Inno Setup .:[все вопросы]:.
ChVL
интуиция + RegShot + FileMon = 95 % настроенная как надо программа :)
Еще предложение: если не надо кидать ярлык на рабочий стол, можно не комментировать строку
[Icons]
;Name: "{userdesktop}\Total Uninstall 3"; Filename: "{app}\Tu.exe"; Tasks: "desktopicon";
а вписать
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: Additional icons:; Flags: unchecked
это принудительно снимает галку "Установить ярлык на рабочий стол"
snark,
А если найти аналог Regshot'у, который бы выдавал результат сравнения в виде готового reg-файла - совсем был бы кайф...
За предложение спасибо, флаг возьму на вооружение. В данном случае, правда, количество телодвижений не уменьшает, разве что код выглядит грамотнее.
А если найти аналог Regshot'у, который бы выдавал результат сравнения в виде готового reg-файла - совсем был бы кайф... »
Зачем аналог! RegShot умеет сохранять снимок в виде готового reg файла, это реализовано только в версии 1.7.2.2 (http://rapidshare.com/files/79643546/RegShot.cab.html).
boss911,
Спасибо за сногсшибательную новость! - Давно мечтал...
ChVL
а вот RegShot 1.8.2 (http://webfile.ru/1661064)
snark,
Спасибо, конечно. Обязательно проверю обе версии. Только вот по Вашей ссылке скачать не получилось - не смог разобраться с дурацкой системой webfile'a. Гоняет по кругу, а закачки нет. И номер вставлял куда-то там, и напрямую пытался...
snark,
Спасибо!
Подробно не разбирался, но это явно разные RegShot'ы.
1.8.2 - от производителя, объём распакованной папки около 86 КБ.
1.7.2.2 - сборка boss911, объём экзешника около 411 КБ.
Будем пробовать.
МИШАНЧИК
07-01-2008, 05:30
Подскажите пожалуйста как сделать, чтоб в инсталяторе собраном в Inno Setup для ярлыка деинсталятора можно было назначать какую либо иконку, но не такую как иконка самого инсталятора? То есть чтоб установка и удаление 2 разные иконки.
Заранее спасибо.
чтоб в инсталяторе собраном в Inno Setup для ярлыка деинсталятора можно было назначать какую либо иконку »
Стандартными средствами Inno нельзя, а о не о стандартных решениях, я не слышал. Можно взять заранее подготовленный деинсталлятор (unins000.exe и unins000.dat), пропатчить его другой иконкой и скомпилировать с основным дистрибутивом. Только не забываем в скрипте отключить создание деинсталлятора:
[Setup]
Uninstallable=false
Добавлено:
Извиняюсь, возможно, я изначально не правильно понял вас: вам нужно изменить иконку самого деинсталлятора (unins000.exe) или иконку ярлыка на запуск деинсталлятора?
МИШАНЧИК
08-01-2008, 05:00
boss911, как изменить иконку ярлыка деинсталятора, чтобы в Пуск-Прграммы и в Удалении программ иконка деинсталятора отличалась бы от иконки инсталятора(если иконку инсталятора назначаешь сам)?
как изменить иконку ярлыка деинсталятора, чтобы в Пуск-Прграммы ... иконка деинсталятора отличалась бы от иконки инсталятора »
Name: {group}\{cm:UninstallProgram,}; Filename: {uninstallexe}; IconFilename: {sys}\SHELL32.dll; IconIndex: 31
[i]IconIndex - последовательный номер индекса иконки в ресурсе, отсчет начинается с "0" (31 - пустая корзина).
в Удалении программ иконка деинсталятора отличалась бы от иконки инсталятора »
Пост #134 (http://forum.oszone.net/post-712692-134.html).
У меня по моему сделано вот так
добавляем В Секции следующие строчки
[Setup]
SetupIconFile=compiler:dm.ico
UninstallDisplayIcon={app}\dmaster.exe
compiler:dm.ico
в данном случае это путь к файйлу dm.ico для инсталлятора, где compiler это папка с компилятором скрипта innosetup (Compil32.exe). Я складываю туда иконки для всех программ для того чтобы не прописывать путь вручную)
UninstallDisplayIcon={app}\dmaster.exe
указывает использовать для uninstall иконку из файла dmaster.exe из папки с установленной программой,
также можно прописать любую другую иконку, но при установке программы придется ее добавлять в дистрибутив и помещать как отдельную иконку, например в папку с установленной программой.
например можно сделать так
UninstallDisplayIcon={app}\newdm.ico
в этом случае файл иконки должен быть в c:\Program Files\Download Master\newdm.ico
если данного файла не будет то будет использована иконка по умолчанию.
в Удалении программ иконка деинсталятора отличалась бы от иконки инсталятора »
Простите, совсем забыл про параметр 'UninstallDisplayIcon=путь к файлу' в секции [Setup]. ZaV освежил мою память. :)
[hr]
например можно сделать так
UninstallDisplayIcon={app}\newdm.ico
в этом случае файл иконки должен быть в c:\Program Files\Download Master\newdm.ico
если данного файла не будет то будет использована иконка по умолчанию. »
В этом случав не обязательно, чтобы иконка или ресурс компилировался вместе с дистрибутивом, можно указать на внешнюю иконку или ресурс с нужным индексом иконки, например:
[Setup]
UninstallDisplayIcon={sys}\SHELL32.dll,31
31 - последовательный номер индекса иконки в ресурсе, отсчет начинается с "0" (31 - пустая корзина).
Нет ли плагина к Inno, который бы трансформировал reg-файл в скрипт?
Уж слишком хлопотно ручками copy-paste более сотни ключей, да ещё и отдельными элементами...
jameszero
10-01-2008, 21:24
ChVL
Зачем плагин.
Есть удобный редактор, который умеет не только импортировать в скрипт reg файлы, но и ещё много чего полезного.
http://www.istool.org/
ChVL, для импорта регфайла в скрипт инно будет достаточно драг-н-дропом перетащить нужный регфайл в программу ISTool в секцию Registry
2 all
script.bat - маленький батник для тех кому неохота для перекомпиляции скрипта заходить в InnoSetup, нажимать кнопку компиляции, закрывать программу...
@echo off
SET wdir=%~dp0
SET wdir=%wdir:~0,-1%
"%ProgramFiles%\Inno Setup 5\Compil32" /cc "%wdir%\install.iss"
exit
структура каталога
Embedded
Output
{app} (и др.)
script.bat
install.iss
имя скрипта InnoSetup должно быть всегда install.iss (ну или какое назначите, но только одинаковое для всех)
путь к компилятору тоже может быть отличный от вышеуказанного %ProgramFiles%\Inno Setup 5\Compil32. Меняйте на свой.
Если к тому же хочется сразу запаковать получившийся скомпилированный ехе-шник в sfx-архив (вариант для 7zip; фанаты WinRAR'a могут сотворить нечто подобное) с нужными параметрами, то добавьте к скрипту строки (пример для тотал коммандера 7.02):
SET INST=totalcmd
SET VERS=702pp
SET INN=.\Output\%INST%%VERS%
SET OUTD=.\Output\%INST%_%VERS%
DEL /Q /S %INN%.7z && DEL /Q /S %OUTD%.exe
"%PROGRAMFILES%\7-zip\7z.exe" a -t7z %INN%.7z %INN%.exe -mx9 -m0=LZMA:d24
COPY /b .\Output\7zSD.sfx + .\Output\config.txt + %INN%.7z %OUTD%.exe
DEL /Q /S %INN%.7z
:: копирование получившегося ехе-шника в папку с софтом
SET beta=d:\UNATTENDED\Silent_install\_beta_
xcopy %OUTD%.exe "%beta%\" /q /y /c
exit
Когда в ISTool перетаскиваю файлы и папки, то прописывается полный путь каждой(ого) из них. Приходится в каждой строке вручную удалять всё, что находится до {app}. Или я не нашёл какой-то опции?
jameszero
15-01-2008, 12:56
ChVL
Самое простое, в том же ISTool выбрать Section-Script (отобразится весь листинг скрипта)
Далее Edit-Replace
В верхнем поле пишем полный путь, например C:\Program Files\MyProg, а в нижнем пишем константу, например {app} и применяем ко всему листингу.
jameszero,
Понял, спасибо!
Вообще довольно странно, что для такой очевидной цели не предусмотрено конкретного решения.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.