PDA

Показать полную графическую версию : Конструктор дистрибутива ACDSee


Страниц : [1] 2

MKN
22-10-2011, 13:54
Конструктор дистрибутива ACDSee

http://s017.radikal.ru/i422/1111/04/319fa581f0ba.jpg

Конструктор предназначен для создания собственного дистрибутива программы ACDSee, с выбранными необходимыми компонентами.
Т.е., в созданный дистрибутив будут входить и будут устанавливаться, только те компоненты, которые выбрал пользователь.

Коструктор работает с штатным MSI дистрибутивом программы ACDSee 5 версии.

После запуска и распаковки, скаченного с офсайта дистрибутива программы (например, acdseepro-5-0-110-win-en.exe) , нужный нам msi файл будет находиться во временной пользовательской папке. Например, в Windows XP, Вы обнаружите его здесь :
"c:\Documents and Settings\User\Local Settings\Temp\{120DF1BC-7E4C-435C-AA1D-8FA63FAE5716}\ACDSee Pro 5.msi"
(Папка "с циферками" может быть иного числового значения.) Не закрывая установщик, скопируйте куда нибудь этот msi файл.

Работать с конструктором просто : запустите, выберите файл msi программы, отметьтье НЕ нужные компоненты и нажмите кнопку "StartProcess".
По окончании процесса, в месте нахождения выбранного msi дистрибутива, будет создан новый дистрибутив, на основе 7zSFX с
параметрами заданными по умолчанию.
А именно - тихая распаковка, установка с отображением хода установки. Либо при запуске с ключом /qn - полностью тихая установка.

Также будет создана папка BackupMSI - с резервной копией исходного msi дистрибутива.

Предусмотрена авторегистрация программы, если введён действительный серийный номер (для версий 4 или 5).
Для 4 версии, номер будет занесён в таблицу MSI, (что позволяет регистрировать эту версию, в процессе установки).

Огромная благодарность за помощь в корректировке кода - kotkovets. kotkovets разработал также инструментарий для работы NSIS с msi, без чего не было бы этого конструктора.

Скачать конструктор v1.2 : http://www.mediafire.com/?8d6g874h67ik12r

Конструктор тестировался в WindowsXPSP3x32 и Windows7SP1x64.

wolkow70
22-10-2011, 17:34
Молодец. А с регистрацией как?

Nun-Nun
22-10-2011, 19:40
Такой бы конструктор к последним версиям ACDSee. :up:

А с регистрацией как? »
А на скриншоте чекбокс "ACDSee License Manager" это случаем не оно?

kotkovets
22-10-2011, 19:51
Такой бы конструктор к последним версиям ACDSee »
А что не работает? если не работает, то сделаем.

wolkow70
22-10-2011, 21:12
А что не работает? »

При запуске вновь созданного SFX выводится:

http://s49.radikal.ru/i123/1110/02/ad7966523fdf.png (http://www.radikal.ru)

Компоненты для удаления выбирал все.

kotkovets
22-10-2011, 21:32
wolkow70, Ошибка приблизительно ясна!
В какой папке выбирали пакет msi? - попробуйте путь выбрать к msi без пробелов
Файл конфиг для SFX ваш ?

wolkow70
23-10-2011, 10:15
Файл конфиг для SFX ваш ? »
Нет.

В какой папке выбирали пакет msi? - попробуйте путь выбрать к msi без пробелов »

Путь был такой.
D:\5\ACDSee Pro 5.msi

Конечный размер ACDSee.exe 33 Мб. Файл ACDSee Pro 5.msi в SFX есть.

PS^ Cдается мне, что в названии ACDSee Pro 5.msi не должно быть пробелов.
Были когда-то подобные траблы с 7z SFX.

MKN
23-10-2011, 13:33
Исправил в создаваемом config.txt имя msi файла. Исправленная ссылка в шапке.

ps Самое странное, что на рабочем компе, на разных ОС всё работало и с имененм по умолчанию... Оч. интересно... Возможно это свзано с разными версиями MSI инсталлеров в ОС...

Nun-Nun
23-10-2011, 16:04
MKN,

Одно пожелание: присвойте своему детищу какую-нибудь версию, а то набежит пара страниц постов, потом попробуй разберись где и что было - где правленный вариант, а где нет.

MKN
23-10-2011, 16:29
Nun-Nun,
Хорошо. (Теперь уж, для последующего fix_а или модернизации.)
А модернизировать наверное надо бы, в плане возможности применения регистрационного номера. Теперь номер так просто через PIDKEY, вроде как не введёшь...

kotkovets
23-10-2011, 16:50
А модернизировать наверное надо бы »
в первую очередь проверочку, что пользователь выбрал дистрибутив ACDSee , а не какой нибудь другой пакет msi

wolkow70
24-10-2011, 15:12
А модернизировать наверное надо бы, в плане возможности применения регистрационного номера. »
Возможен экспорт в реестр.
HKEY_LOCAL_MACHINE\SOFTWARE\ACD Systems\ACDSee Pro\50\LClient
"md"=hex
Но, по большому счету, проблема не решается, так как аккаунт при этом все равно не создается..
Окончательно проблема решается применением патченного экзешника.
Пишут, что эта версия весьма не стабильна, и после нового года следует ожидать нового, более стабильного релиза.

MKN
24-10-2011, 15:28
Но, по большому счету, проблема не решается, так как аккаунт при этом все равно не создается.. »
Предполагается, что пользователь легальный и уже имеет аккаунт на сервере, также он купил программу и получил номер. Надо просто облегчить этому пользователю, автоматический ввод номера в соответствующее окно регистрации.
(Все конечно прекрасно понимают, что это предположение, мягко говоря наивно для российских пользователей... :)
Но т.к. здесь мы чтим и блюдём авторское право, то и задачу решаем соотвествующим легальным образом. )

Самое простое - использовать для регистрации AutoIt скрипт, который хоть сейчас можно добавить в конструктор...
(Кстати, ничто не мешает, самим пользователем использовать запуск такого скрипта из своего config.txt)
Но оч. не хотелось бы идти этим путём. NSIS - так NSIS ! Есть уже задумка, а в реализации надежда на kotkovets, :)

wolkow70
24-10-2011, 18:06
Надо просто облегчить этому пользователю, автоматический ввод номера в соответствующее окно регистрации. »
Если предполагается, что пользователь легальный, то можно установить программу, зарегистрировать, а потом рег-данные экпортировать в рег-файл.
"md"=hex и будет индивидуальным. Куда проще ввода номера автоитом.
Или предусмотреть оба варианта на выбор.

и уже имеет аккаунт на сервере »
Если исходить из такого предположения, то может подумать и над тем как этот аккаунт создать автоматически или симулировать его наличие (если это возможно). Иначе, задумка, к сожалению, несколько теряет в своей привлекательности.

Относительно компонентов для удаления, на мой взгляд, нужны некоторые пояснения, так как, не все участники форума пониают, что к чему относится, и что они удаляют. Комментарии к чебоксам были бы желательны.
Например, удаление ACDSee License Menager некоторые поняли как решение проблемы активации :).

MKN
25-10-2011, 09:08
а потом рег-данные экпортировать в рег-файл.
"md"=hex и будет индивидуальным. Куда проще ввода номера автоитом. »
Пользователь предполагается не только легальный , но и не искушённый. Таковых большинство, кто понятия не имееет о реестре и пр.
Выбрать нужные компоненты такой пользователь может и ввести имеющийся номер в соответствующую строку также. Всё . На этом его познания заканчиваются и бОльшего ему и не надо. А наша задача - обеспечить таким пользователям "комфортную" работу. :) А уж продвинутые пользователи сами о себе позаботятся и уверен, что совсем иным способом... :)

Насчёт аккаунта. Можно конечно организовать автогемор его создания, но не нужно... Зачем создавать аккаунт во время регистрации, когда это спокойно можно сделать на офсайте ?
Что скорее всего и происходит с легальными пользователями, которые сначала ознакомятся с продуктом на офсайте, там же зарегистрируются, а уж затем покупают продукт. Дело конечно хозяйское и думаю, что всё же это задача пользователя, а не конструктора.

нужны некоторые пояснения, так как, не все участники форума пониают, что к чему относится »
Наверное можно и пояснить ( хотя вроде и так и всё ясно из названий). И лучше это сделать в сопроводительном описании, а не захломлять фейс конструктора...

Nun-Nun
25-10-2011, 09:17
И лучше это сделать в сопроводительном описании, а не захломлять фейс конструктора... »
Я бы предпочёл - в виде всплывающих подсказок-пояснений. ;)

wolkow70
28-10-2011, 03:54
Наверное можно и пояснить ( хотя вроде и так и всё ясно из названий). И лучше это сделать в сопроводительном описании, а не захломлять фейс конструктора... »
Ну хоть так сделайте.
Может еще чего-то можно удалять? У меня даже после удаления всего предусмотренного, инсталллятор весит 33 Мб.
Я бы предпочёл - в виде всплывающих подсказок-пояснений. »
В стандартном интерфейсе NSIS это легко реализуемо. Но в конструкторе интефейс сильно перестроен.

MKN
28-10-2011, 09:26
У меня даже после удаления всего предусмотренного, инсталллятор весит 33 Мб. »
Ещё бы не весить, когда, скажем, в бинарных значениях msi, "сидит" ~4M wmfdist.exe, а в таблицах "засел" vc++2008, и имеется изрядная куча бесполезного chm хелпа.

(vc++ и хелп без проблем изымаются из таблиц обычным образом, а вот в конструкторе это хотя реализуемо, но геморно.
А вот как удалять бинарное содержимое из MSI - инфы я нигде не встречал. Наверное это не возможно... )

Но дистрибутив худеет без лишнего хлама, удаляемого конструктором, более чем в 2 раза - уже хорошо !

ps
С всплывающими подсказками проблем нет и с авторегистрацией (ессно легальным сериалом !) вопрос практически решён, благодаря оригинальной экслюзивной разработке kotkovets Обкатаем - обнародуем. :)

kotkovets
28-10-2011, 11:55
экслюзивной разработке kotkovets и с авторегистрацией»
Нет там ничего экслюзивного, решение(кто пользуется NSIS) в папке NSIS\Docs\System->System.html
(поиск в файле- EnumChildWindows) :) Далеко идти не пришлось, разрабы предложили пример,
я доработал лишь до практического использования.

MKN
03-11-2011, 12:17
Конструктор дистрибутива ACDSee v1.2

Fix: Создание SFX (иногда не срабатывало из-за не обнаружения путей)
Add: Проверка принадлежности MSI - ACDSee дистрибутиву.
Add: Всплывающие подсказки для выбираемых опций
Add: Авторегистрация программы, если введён действительный серийный номер (для версий 4 или 5).
Для 4 версии, номер будет занесён в таблицу MSI, (что позволяет регистрировать эту версию, в процессе установки).
Add: Проверка правильности синтаксиса номера

Авторегистрация запускается пользователем, ярлыком с рабочего стола, после установки созданного дистрибутива.

Инструментарий механизма авторегистрации реализован на NSIS, благодаря разработке kotkovets,

Новая ссылка в шапке темы.




© OSzone.net 2001-2012