Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Наборы обновлений для Windows XP/2003/Windows 7 » Инфо - Руководство по созданию аддонов (текущая версия)

Ответить
Настройки темы
Инфо - Руководство по созданию аддонов (текущая версия)

Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: volk1234
Дата: 24-09-2010
Описание: новая версия на сайте

Руководство перенесено в статью на сайте, но его обсуждение не закончилось. Любой может добавить в него что- нибудь новенькое.

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

Сейчас обсуждается статья: - новое приложение 9.
===============
*Если вы заметили орфографические ошибки, пишите, пожалуйста, в личку

Отправлено: 19:19, 27-02-2008

 

Аватара для Black Babay

Старожил


Автор проектов


Сообщения: 492
Благодарности: 73

Профиль | Отправить PM | Цитировать


Цитата jameszero:
Целевой каталог для удаления ярлыка прописывается в [Strings] »
Спасибо! Пошел пробовать...

Отправлено: 11:26, 29-07-2008 | #221



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Black Babay

Старожил


Автор проектов


Сообщения: 492
Благодарности: 73

Профиль | Отправить PM | Цитировать


jameszero, проверил. Большое спасибо, все работает. Если не затруднит посмотрите пожалуйста прилагаемый INF на предмет недочетов.
Код: Выделить весь код
[Version]
Signature="$Windows NT$"
AdvancedINF=2.5

[Optional Components]
Starter

[Starter]
OptionDesc		=%PROG_NAME%
Modes			=0,1,2,3
AddReg			=PROG.AddReg
ProfileItems	=PROG.AddShortcut, PROG.AddShortQuick, PROG.AddShortQuickDU
Uninstall		=mUninst.Uninstall

[DefaultInstall]
OptionDesc		=%PROG_NAME%
Modes			=0,1,2,3
AddReg			=PROG.AddReg
ProfileItems	=PROG.AddShortcut, PROG.AddShortQuick, PROG.AddShortQuickDU
Uninstall		=mUninst.Uninstall

[Uninstall]
BeginPrompt		=BeginUnInsPrompt
RunPreSetupCommands	=Close.Prog:1
RunPostSetupCommands	=Dir.Delete
EndPrompt		=EndUnInsPrompt
DelFiles		=PNF.File
DelReg			=PROG.DelReg
ProfileItems		=PROG.DelShortcut, PROG.DelShortcutQuick, PROG.DelShortcutQuickDU

[BeginUnInsPrompt] 
Title			=Деинсталляция %PROG_NAME%
Prompt			=Вы действительно хотите удалить %PROG_NAME% и все компоненты программы? 
ButtonType		=YESNO

[Close.Prog]
TASKKILL /F /IM %PROG_1%
TSKILL %PROG_2%
ping -n 3 127.0.0.1

[Dir.Delete]
rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%

[EndUnInsPrompt]
Prompt			=Программа %PROG_NAME% удалена.

[PROG.AddReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayIcon",0,"%16422%\%PROG_DIR%\%PROG_1%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayName",,%PROG_NAME%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayVersion",,"v%PROG_VERS%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","Publisher",,"%PROG_MADE%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","URLInfoAbout",,"%PROG_URL%"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection %17%\%PROG_INF%,Uninstall"

[PROG.DelReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon"

[PROG.AddShortcut]
Name		=%SRTC_NAME%
CmdLine		=16422,%PROG_DIR%,%PROG_1%
WorkingDir	=16422,%PROG_DIR%
SubDir		=%PROG_SDIR%
InfoTip		=%PROG_INFO%

[PROG.AddShortQuick]
Name		=%SRTC_NAME%,0x00000001
CmdLine		=16422,%PROG_DIR%,%PROG_1%
WorkingDir	=16422,%PROG_DIR%
SubDir		=%PROG_SDIR2%
InfoTip		=%PROG_INFO%

[PROG.AddShortQuickDU]
Name		=%SRTC_NAME%,0x00000001
CmdLine		=16422,%PROG_DIR%,%PROG_1%
WorkingDir	=16422,%PROG_DIR%
SubDir		=%PROG_SDIR3%
InfoTip		=%PROG_INFO%

[PROG.DelShortcut]
Name		=%SRTC_NAME%,0x00000002
SubDir		=%PROG_SDIR%

[PROG.DelShortcutQuick]
Name		=%SRTC_NAME%,0x00000003
SubDir		=%PROG_SDIR2%

[PROG.DelShortcutQuickDU]
Name		=%SRTC_NAME%,0x00000003
SubDir		=%PROG_SDIR3%


[Strings]
PROG_DIR	="Starter"
PROG_NAME	="CodeStuff Starter 5.6.2.8"
SRTC_NAME	="Starter"
PROG_VERS	="5.6.2.8"
PROG_MADE	="CodeStuff"
PROG_URL	="http://codestuff.tripod.com/products_starter.html"
PROG_INF	="Starter.inf"
PROG_1		=Starter.exe
PROG_2		=Starter
PROG_SDIR	="Утилиты\Starter"
PROG_SDIR2	="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_SDIR3	="..\..\..\Default User\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_INFO	="Менеджер автозагрузки, диспетчер задач и служб"

Отправлено: 13:05, 29-07-2008 | #222


Аватара для jameszero

Модератор


Moderator


Сообщения: 4920
Благодарности: 2580

Профиль | Сайт | Отправить PM | Цитировать


Black Babay
Я недоглядел и ошибка перекочевала в руководство
Код: Выделить весь код
Вместо:
Uninstall		=mUninst.Uninstall

Нужно:
Uninstall		=Uninstall
Для не SYSOC аддонов эта строчка вообще не нужна ни в секции [Starter], ни в секции [DefaultInstall]

Кстати, если аддон не SYSOC, то можно полностью удалить следующий код:

Код: Выделить весь код
[Optional Components]
Starter

[Starter]
OptionDesc		=%PROG_NAME%
Modes			=0,1,2,3
AddReg			=PROG.AddReg
ProfileItems	=PROG.AddShortcut, PROG.AddShortQuick, PROG.AddShortQuickDU
Uninstall		=mUninst.Uninstall
и из секции [DefaultInstall] следующий:
Код: Выделить весь код
OptionDesc		=%PROG_NAME%
Modes			=0,1,2,3
В секции [Close.Prog] можно удалить TASKKILL /F /IM %PROG_1%
Во первых, достаточно второй строчки, а во вторых, TASKKILL нет в HOME Edition и деинсталлятор непременно ругнётся.

В остальном вроде замечаний нет.

-------
RuntimePack официальный сайт
--
мои аддоны в облаке

Не было печали, апдейтов накачали.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:25, 29-07-2008 | #223


Пользователь


Сообщения: 138
Благодарности: 6

Профиль | Отправить PM | Цитировать


volk1234, по поводу иконок, хотелось бы все таки знать откуда беруться те стандартные, хотя сегодня ноччю нашел ответ на свой вопрос с примером можно ли другие иконки прописать, пишут что можно так нанпример: IconIndex = *, ..\mqutil.dll, 3124 правда ещё не пробовал, только читал.
Успел попробовать несколько новых DirIds, случайно нашел, причом часть папок упоминается и в главном списке приведенном на сайте, но эти тоже работают, там ещё куча таких диридсов, токо не успел проверить да и не понял куда они указывают
проверенные:
Код: Выделить весь код
21773		C:\Documents and Settings\allusers\Мои документы\Моя музыка
22542		C:\Documents and Settings\allusers\Мои документы\Мои видеозаписи
22030		C:\Documents and Settings\defaltusers\Мои документы\Мои видеозаписи
32528		defaltuser\Рабочий стол - только почему то папка там создается, если указать путь для копирования, а ярлык если пробуешь, вместо ..\..\Рабочий стол, не создается, если есть мысли по этому поводу, то хотелось бы понять в чом разница?
22037		шаблоны
22063		C:\Documents and Settings\All Users\Главное Меню\Программы\Администрирование\
22575		тоже
22072		C:\WINDOWS\Resources
22584		тоже
22061		C:\Documents and Settings\All Users\Шаблоны
не проверенные:
Код: Выделить весь код
11 ===> system directory (%windir%\system on Win95, %windir%\system32 on NT)
; 12 ===> drivers directory (%windir%\system32\drivers on NT)
хотя эти 2 в основном списке есть :) просто привожу цитату как в документе, ниже ещё будут повторения :)
; 32768 ===> inetsrv
; 32769 ===> inetpub\ftproot 
; 32770 ===> inetpub\wwwroot
; 32771 ===> inetpub\iissamples
; 32773 ===> inetpub
; 32778 ===> WinDir\Java\TrustLib
; 32800 ===> MachineName
; 32801 ===> Upgrade type
; 33000 ===> (iusr_)
; 33001 ===> (iwam_)
; 33002 ===> (www anonymous name)
; 33003 ===> (ftp anonymous name)
; 33004 ===> iwam_ for removal
; 33005 ===> iusr_www for removal
; 33006 ===> iusr_ftp for removal
; 34000 ===> \i386, \Nec98
; 34001 ===> htmla localhost link
; 34100 ===> Temp SSE Variable
; 34101 ===> Temp Debug Variable
-----------------------------------------
; 10 ===> Windows directory. 
; 18 ===> Windows\help directory (%windir%)
; 20 ===> windows\fonts directory
; 11 ===> system directory (%windir%\system on Win95, %windir%\system32 on NT)
; 12 ===> drivers directory (%windir%\system32\drivers on NT)
; 32768 ===> inetsrv
; 32769 ===> inetpub\ftproot 
; 32770 ===> inetpub\wwwroot
; 32771 ===> inetpub\iissamples
; 32772 ===> inetpub\scripts
; 32773 ===> inetpub
; 32774 ===> Old inetsrv dir 
; 32775 ===> Old m_csPathOldPWSFiles
; 32776 ===> Old m_csPathOldPWSSystemFiles
; 32777 ===> Program Files
; 32778 ===> WinDir\Java\TrustLib
; 32779 ===> WebPub
-----------------------------------------------
[MSIExploreDestinationSection]
49000=MSIExploreLDIDSection
49050=QuickLinksLDIDSection
49060=OldIELinksLDIDSection
49090=FavoriteLDIDSection
49100=PersonalLDIDSection

[MSIExploreDestinationSecWin]
49000,49010,49020,49030=MSIExploreLDIDSection
49050=QuickLinksLDIDSection
49060=OldIELinksLDIDSection
49090=FavoriteLDIDSection
49080=StartUpLDIDSection
49100=PersonalLDIDSection

[QuickLinkDestinationSection]
49000,49010,49020,49030=MSIExploreLDIDSection
--------------------------
34101=iis_ftp component
33005
33006
33004
-------------------------------
4000=LogType
4001=%WinDir%\System32\LogFiles
36883=%WinDir%\System32\inetsrv
36917=
-------------------
Msmq1ExchConnFiles    = 97010
Msmq1Files            = 97001
Msmq1SetupFiles       = 97050 
Msmq1SDK_DebugBinFiles= 97055
и ещё, всстретил в синтаксисе перед папкой значок @, к чему он? как пример:
InfoTip = "@%16422%
хотя это не очень удачный пример, просто сходу ничо другого не нашел

Последний раз редактировалось DyadyaGenya, 29-07-2008 в 15:29.


Отправлено: 13:38, 29-07-2008 | #224


Пользователь


Сообщения: 138
Благодарности: 6

Профиль | Отправить PM | Цитировать


volk1234, кстати, встретил ещё таку команду:
Error Control = 0 or 1
похоже можно контролировать процес установки, и с помощью его пропускать неправильный аддон во время инсталяции оси, чтоб не зависал и неждал команду типа жми сюда и процес пойдет дальше
на форуме нашел толлько подобное упоминание для драйверов, и то не так пишеться и флаги не такие

Отправлено: 15:01, 29-07-2008 | #225


Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


DyadyaGenya
Дайте ссылку на источник пожалуйста.
В том числе и на источник про замену иконок в System components.

Между прочим касательно вашего предложения про winnt.sif нашел в Руководстве:


Цитата Приложение 6. Этапы и механизмы установки Windows XP/2003. Log-файлы, создаваемые в процессе установки.:
8. Установка дополнительных компонентов ОС (sysoc.inf) С помощью sysoc.inf менеджер установки строит список файлов для установки этих компонентов. Затем этот список сверяется с файлом unattend.txt (winnt.sif) если он есть. По результатам сверки образуется конечный список устанавливаемых компонентов..

-------

Ю-ху!


Последний раз редактировалось volk1234, 29-07-2008 в 21:05.


Отправлено: 19:43, 29-07-2008 | #226


Пользователь


Сообщения: 138
Благодарности: 6

Профиль | Отправить PM | Цитировать


volk1234, вот это наверно сглупил, сами доки вытянул, отдельным документом сделал цитаты, а ссылку дома оставил, думаю приду домой, в кеше остались, скину. Если память не изменяет, то почти все в базе знаний майкрософта, токо англицкая

volk1234, одну нашел по памяти http://msdn.microsoft.com/en-us/library/ms912407.aspx

Отправлено: 19:59, 29-07-2008 | #227


Пользователь


Сообщения: 138
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата volk1234:
Между прочим касательно вашего предложения про winnt.sif нашел в Руководстве: »
ну чтож, значит я давно читал все руководство, тогда наверно не заметил, а сейчас пытался найти новшества

и ещё раз повторю просьбу, подскажи пожалуйста, из какого файла взялись картинки для отображения иконок в компонентах, как я понимаю это какой то длл

Последний раз редактировалось DyadyaGenya, 30-07-2008 в 20:47.


Отправлено: 17:15, 30-07-2008 | #228


Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


Цитата DyadyaGenya:
подскажи пожалуйста, из какого файла взялись картинки для отображения иконок в компонентах, как я понимаю это какой то длл »
Порылся Restorator'ом и как и следовало ожидать нашел иконки в файле setupapi.dll

кстати, обнаружил что в спске Gosh не все иконки, 36 штук еще дополнительных

-------

Ю-ху!


Последний раз редактировалось volk1234, 31-07-2008 в 00:10.


Отправлено: 23:59, 30-07-2008 | #229


Пользователь


Сообщения: 138
Благодарности: 6

Профиль | Отправить PM | Цитировать


volk1234, и хотел я его глянуть, но увидел что иконок больше, решил время не тратить, искал где есть 61 иконка ResHacker вручную перерывал

странно, пересмотрел setupapi.dll там таких иконок нет, и у меня их там аж 145
этот длл находиться в C:\WINDOWS\system32\dllcache\ или просто в C:\WINDOWS\system32\ ? хотя у меня оба файла одинаковые

нашел, они в bitmap лежат
Цитата volk1234:
кстати, обнаружил что в спске Gosh не все иконки, 36 штук еще дополнительных »
нету видимо потому что они там не прописаны, по крайней мере если прописать номер больше чем из списка, то в списке компонентов светиться одна и та же иконка

Последний раз редактировалось DyadyaGenya, 31-07-2008 в 20:03.


Отправлено: 13:17, 31-07-2008 | #230



Компьютерный форум OSzone.net » Автоматическая установка Windows » Наборы обновлений для Windows XP/2003/Windows 7 » Инфо - Руководство по созданию аддонов (текущая версия)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Как определить какая версия XP Корпоративка или Oem версия? Rock Microsoft Windows 2000/XP 2 10-01-2008 11:18
Текущая настройка безопасности ActiveX Motto Защита компьютерных систем 1 26-12-2004 19:05
Что такое текущая директория? Guest Программирование и базы данных 11 24-07-2004 00:19




 
Переход