PDA

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


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [23] 24 25 26 27 28 29 30 31 32 33 34

volk1234
13-04-2008, 23:13
Господа товарищи,
изучая тексты аддонов пришла в голову одна мысля. Опровергните меня если неправ.
Среди комманд inf файла есть такая - UpdateInis. Изменяет данные в ini- файлах.
А файлик boot.ini как раз такой. То есть можно реализовать изменение boot.ini не через скрипт или bootcfg, и не через патч setupdd.sys(что не есть хорошо),
а обычным аддоном sysoc. Причем возможно ветвление типа If (правда инвалидное)
типа [updatebootini.x86] , [updatebootini.ia64] для выбора редактируемых параметров.

пример:

[Version]
Signature=$Chicago$

[DefaultInstall]
UpdateInis=BOOTINIfile

[DestinationDirs]
BOOTINIfile=24

[BOOTINIfile]
boot.ini, operating systems, "multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional RU" /noexecute=alwayson /fastdetect", "multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional RU" /noexecute=alwaysoff /fastdetect"


или может возможно обновление не всего параметра а его части??? Например:

boot.ini, operating systems, "/noexecute=alwayson", "/noexecute=alwaysoff "

mercuryn
15-04-2008, 11:18
volk1234, ... пришла в голову одна мысля. Опровергните меня если неправ. »
А Вам это надо??? А нам это надо???

Shido
15-04-2008, 11:26
volk1234, mercuryn, может и не надо, но если бы все так рассуждали этого форума бы не было. Да и точно знать что можно сделать, а что нет - полезно, даже если пользоватся никогда не будеш.

volk1234
15-04-2008, 11:49
А Вам это надо??? А нам это надо??? »

Гм. Меня смущает тон, но отвечу, мне надо, чтобы мне в голову приходили хорошие идеи,
Вам надо меня оповергнуть, поскольку если я неправ и сделаю аддон, куча людей засыпет
форум сообщениями (это я преувеличиваю конечно).
В любом случае меня интересует синтаксис и работа инструкции UpdateInis, boot.ini чем не пример.

mercuryn
15-04-2008, 11:58
Shido, volk1234, отсутствие или наличие чувства юмора крайне индивидуально...

DyadyaGenya
28-04-2008, 15:07
к моему стыду возник вопрос про запуск ехе после установки аддона
пытался использовать и RunPostSetupCommands и просто rundll32.exe advpack,LaunchINFSection
приведу один их примеров инфа, который на мой взгляд больше всего должен был оказаться работоспособным:
[Version]
Signature="$Windows NT$"
AdvancedINF=2.0
SetupClass=BASE

[Optional Components]
Light_Al

[Light_Al]
OptionDesc=%PROG_NAME%
Tip=%PROG_INFO%
Modes=0,1,2,3
CopyFiles=Light_Al.Copy,Light_Al.Help.Copy,Light_Al.Icons.Copy,Light_Al.Langs.Copy,Light_Al.Logo.Cop y,Light_Al.Report.Copy,Light_Al.Skins.Copy,Light_Al.Subtitles.Copy,Light_Al.Plugins.AviSynth.Copy
AddReg=PROG.AddReg
Run=Light_Al.AdvInfCall
ProfileItems=PROG.AddShortcut,PROG2.AddShortcut
SizeApproximation=7125109
Uninstall=Light_Al.Uninstall

[DefaultInstall]
CopyFiles=Light_Al.Copy,Light_Al.Help.Copy,Light_Al.Icons.Copy,Light_Al.Langs.Copy,Light_Al.Logo.Cop y,Light_Al.Report.Copy,Light_Al.Skins.Copy,Light_Al.Subtitles.Copy,Light_Al.Plugins.AviSynth.Copy
AddReg=PROG.AddReg
ProfileItems=PROG.AddShortcut,PROG2.AddShortcut
RunPostSetupCommands=Light_Al.AdvInfCall

[Light_Al.Uninstall]
BeginPrompt =BeginUnInsPrompt
RunPreSetupCommands =Close.Prog:1
RunPostSetupCommands =Dir.Delete
EndPrompt =EndUnInsPrompt
DelFiles=LA.lap.del,LA.xml.del
DelDirs=Light_Al.LightAlloy.Del
DelReg =PROG.DelReg
ProfileItems =PROG.DelShortcut,PROG2.DelShortcut

бла-бла-бла

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

[SourceDisksNames]
1="Дистрибутив Windows XP SP2 с интегрированным аддоном Light Alloy",Light_Al.cab,,

[SourceDisksFiles]
autoitla.au3=1
autoitla.exe=1
LA.exe=1
LA.lap=1
LA.xml=1
mc.xml=1
ms.xml=1
uninst.exe=1
zagadki.ini=1
english.chm=1
russian.chm=1
Spanish.chm=1
Amigos.icl=1
Amigos.xml=1
Chihiro.icl=1
Chihiro.xml=1
DevilIns.icl=1
DevilIns.xml=1
LA1x.icl=1
LA1x.xml=1
PK69.icl=1
PK69.xml=1
TMP.icl=1
TMP.xml=1
WMP6.icl=1
WMP6.xml=1
XPlite.icl=1
XPlite.xml=1
XP.icl=1
XP.xml=1
Belarusi.txt=1
Czech.txt=1
Dutch.txt=1
English.zip=1
French.txt=1
German.txt=1
Lithuani.txt=1
Polish.txt=1
Romanian.txt=1
Spanish.txt=1
Turkish.txt=1
Ukrainia.txt=1
oreol.jpg=1
CSV.txt=1
Extended.txt=1
Text.txt=1
XML.txt=1
DarkAllo.bmp=1
Flat.bmp=1
Gen.bmp=1
htech.bmp=1
Luna14Li.bmp=1
PK69WMPL.las=1
QTime.bmp=1
Windoze9.bmp=1
XPBlue.bmp=1
XP.bmp=1
XPsilver.bmp=1
test.srt=1
test.ssa=1
BlockBus.avs=1
Clean2D.avs=1
Convolut.avs=1
Version.avs=1
VersionF.avs=1

[DestinationDirs]
Light_Al.Copy=16422,"Light Alloy"
Light_Al.Help.Copy=16422,"Light Alloy\Help"
Light_Al.Icons.Copy=16422,"Light Alloy\Icons"
Light_Al.Langs.Copy=16422,"Light Alloy\Langs"
Light_Al.Logo.Copy=16422,"Light Alloy\Logo"
Light_Al.Report.Copy=16422,"Light Alloy\Report"
Light_Al.Skins.Copy=16422,"Light Alloy\Skins"
Light_Al.Subtitles.Copy=16422,"Light Alloy\Subtitles"
Light_Al.Plugins.AviSynth.Copy=16422,"Light Alloy\Plugins\AviSynth"

[Light_Al.Copy]
"autoit-la.au3",autoitla.au3,,4
"autoit-la.exe",autoitla.exe,,4
LA.exe,,,4
LA.lap,,,4
LA.xml,,,4
mc.xml,,,4
ms.xml,,,4
uninst.exe,,,4
zagadki.ini,,,4

бла-бла-бла-бла-бла :-)

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

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

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

[PROG2.DelShortcut]
Name =%SRTC_NAME%,0x00000003
SubDir =%PROG_SDIR2%

[Light_Al.AdvInfCall]
Commandline=rundll32.exe advpack,LaunchINFSection ""16422,%PROG_DIR%\Light_Al.inf"",RunPostSetup,4"
TickCount=500

[RunPostSetup]
LA.exe (любой ехе вставляю и не работает :(, вставлял и параметры типа /param1 /param2 )

[Strings]
PROG_DIR ="Light Alloy"
PROG_NAME ="Light Alloy"
SRTC_NAME ="Light Alloy"
PROG_VERS ="4,1 build 6105"
PROG_INF ="Light_Al.inf"
PROG_MADE =DyadyaGenya
PROG_URL =http://www.softella.com/?la
PROG_HELP =16422,"Light Alloy\Help\russian.chm
PROG_1 =LA.exe
PROG_2 =LA
PROG_SDIR =""
PROG_SDIR2 ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"
PROG_INFO ="Player"


кроме того пытался вставить секцию как в статье про инф
[DefaultInstall]
RunPostSetupCommands=cmd.end

[cmd.end]
LA.exe /param1 /param2
ну и были другие варианты

gora
28-04-2008, 15:13
возник вопрос про запуск ехе после установки аддона »
А собственно, что Вы хотели сделать!? Запустить проигрыватель сразу после установки аддона!? ДО завершения установки системы!?

jameszero
28-04-2008, 15:32
DyadyaGenya
Нужно указывать путь к запускаемой программе.
При инсталляции через advpack так:

[DefaultInstall]
RunPostSetupCommands=cmd.end

[cmd.end]
"%16422%\%PROG_DIR%\LA.exe /param1"

Можете посмотреть примеры в моём аддоне DrWeb (http://forum.oszone.net/thread-71187.html). В нём реализован запуск екзешников с параметрами и через advpack, и через setupapi.

DyadyaGenya
28-04-2008, 18:03
gora, нет, :-) просто пробовал разные ехе подсовывать :-) на самом деле написал авторегистрацию через autoit могу прикрепить файл

jameszero, так тоже пробовал, но почему то не получаеться, я ему уже и прописывал полный путь с указанием диска и папки програмы, все равно не хочет даже плеер запустить, не говоря про регистрацию, и в [DefaultInstall] помещал, и просто в [Optional Components]

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

jameszero
28-04-2008, 19:01
Каким образом вызывается установка, через setupapi или через advpack?

В первом случае нужно использовать Run, а во втором RunPostSetupCommands.

ya158
28-04-2008, 20:42
DyadyaGenya,
1. Ты в секции
[Light_Al.AdvInfCall]
Commandline=rundll32.exe advpack,LaunchINFSection ""16422,%PROG_DIR%\Light_Al.inf"",RunPostSetup,4"
TickCount=500
пытаешься найти Light_Al.inf в папке 16422,Light Alloy (именно в 16422,Light Alloy, а не в C:\Programm Files\Light Alloy). Когда ты запускаешь rundll32.exe пути надо указывать как в ком строке Windows, а не как в секции [DestinationDirs]. Помимо этого Light_Al.inf скорее всего лежит не в Programm Files, а в C:\windows\inf, где лежат все inf-файлы sysoc-аддонов. Поэтому твоя секция должна выглядеть так (ты ещё забыл открывающие кавычки перед rundll32.exe)

[Light_Al.AdvInfCall]
Commandline="rundll32.exe advpack,LaunchINFSection ""%17%\Light_Al.inf"",RunPostSetup,4"
TickCount=500

2. Секция [Light_Al.AdvInfCall] запускает на выполнение секцию [RunPostSetup] при помощи advpack, но в интерпретаторе advpack нет команды LA.exe, а есть команда RunPostSetupCommands. Поэтому надо делать так

[Light_Al.AdvInfCall]
Commandline="rundll32.exe advpack,LaunchINFSection ""%17%\Light_Al.inf"",RunPostSetup,4"
TickCount=500

[RunPostSetup]
RunPostSetupCommands=RunLa

[RunLA]
Путь_к_LA\La.exe /param


3. Про пути к программе тебе очень правильно заметил jameszero. Учти синтаксис путей тут тоже как в командной строке Windows.

DyadyaGenya
28-04-2008, 23:46
jameszero спасибо за вариант с RunPostSetupCommands, я уже так делал, но не ставил кавычек просто в статье по инф путь не указывался, так как там все примеры описывали расположение инф файла в корне, прямо на С, вот и не подумал про кавычки, а путь прописывал без кавычек - элементарное незнание синтаксиса

ya158, к сожалению способ почему то не срабатывает, да и инф файл я ложил и в папку с програмой и в папку windows\inf. я для облегчения проверки батник написал, так он автоматом ложил и туда и туда, просто не понимал почему не срабатывает, вот и подкладывал его куда только мог придумать :) но мне очень хочеться понять почему не срабатывает, возможно проблема опять в синтаксисе, не знание которого доказал пример jameszero, а ведь был я на правильном пути, если б не кавычки.
Хотя если в обоих вариантах используеться один и тот же интерпритатор, то не понятно, почему в одном случае срабатывает, в другом нет, я кстати попробовал ради интереса заменить RunLa в [RunPostSetup]
RunPostSetupCommands=RunLa
[RunLA]
Путь_к_LA\La.exe /param » на cmd.end и все равно не получилось.

после сегодняшнего конфуза с кавычками, просьба ко всем, подскажите где можно прочитать побольше про синтаксис

ya158
28-04-2008, 23:58
DyadyaGenya,
Давай полностью свой аддон (желательно все версии с описанием) - посмотрю где какие ошибки.

gora
14-05-2008, 17:40
2 ALL
Обновил Компилятор аддонов. Ссылка в шапке.
Появилось немного нового. Если кому то интересно - распишу.
К сожалению не получил ни одного отзыва о его работе хотя он был скачан 280 раз! Странно это. :(

Black Babay
14-05-2008, 22:14
gora, конечно интересно! Сегодня первый раз, к своему стыду, наткнулся на этот мегаполезный компилятор. Сижу - разбираюсь. Пока никак не пойму какие ключи в Run прописывать. Посмотрел в других АддОнах, сделанных с его помощью, но так и не понял :o

Покопался еще, начало получаться...

gora
16-05-2008, 12:02
Black Babay, все ключи для аддонов, при использовании Компилятора, это ключи модифицированного модуля, который можно найти здесь (http://forum.oszone.net/showthread.php?t=51547).

DyadyaGenya
17-05-2008, 21:35
ya158, доброго времени суток, ну конечно же и всем форумчанам, наконец то дошли руки до проверки моей писанины и с огорчением обнаружил что мой злополучный аддон Light Alloy с авторегистрацией не срабатывает при установке винды. При проверке батником все красиво регистриться, а при установке винды не хочет. Честно говоря много работы, и некогда разбираться, поэтому решил воспользоваться вашим предложением глянуть мой аддон. Все варинты пока выкладывать не буду, если можна, посмотрите хотя бы этот.

http://letitbit.net/download/6f210270845/Light-Alloy.7z.html
или
http://depositfiles.com/files/5414888

askarmuk
18-05-2008, 22:31
Здравствуйте, у меня вопрос по поводу набора CAB Tool, взятого отсюда (http://forum.oszone.net/post-599580-153.html). Я скачал оба варианта: и с сайта Azimut Project, и набор три-в-одном с форума, но в обоих случаях после установки в контекстном меню ничего не появилось. В чем может быть дело?
*Извиняюсь, нашел пункты CAB-IN, CAB-OUT и CAB Tool в меню отправить. Я-то думал, что они появятся в основном меню. Второй вопрос остается - можно ли для тех же целей пользоваться утилитой makecab.exe, которая имеется в XP?

maik5
18-05-2008, 23:24
askarmuk,
Вот ещё один вариант [addon] CabTools (http://forum.oszone.net/showthread.php?t=93596&page=3&highlight=CabTools).
Можно инсталлировать на установленную систему. »

Команду makecab.exe для этих целей тоже можно использовать. Здесь (http://oszone.net/2806) немного об этом написано.

ya158
20-05-2008, 21:41
DyadyaGenya,
Держи исправленный inf.
Несколько замечаний :
1. Не понял что такое upd.cmd b для чего он нужен. Для аддона с моим инфом он точно не нужен :wink:
2. Не стал разбираться подробно с твиками реестра - только удалил в начале секции PROG.AddReg точно не нужные твики. В секции PROG.DelReg надо для полной деинсталяции указать ключи, которые добавляются в PROG.AddReg.
3. Не знаю зачем тебе при удалении вывод диалоговых окон (команды BeginPrompt и EndPrompt), но из секции Light_Al.Uninstall при использовании менеджере "Установка и удаление компонентов Windows" они работать не будут, так как при этом используется SETUPAPI. Для того, чтобы увидеть эти окна используй

rundll32.exe advpack,LaunchINFSection Путь_к_файлу\Script.inf,Light_Al.Uninstall,4
и
из командной строки. Но лучше забей на эти окна - если собрался удалять прогу, то зачем лишние вопросы, да и установить по-новой не проблема. В этом случае удали из секции Light_Al.Uninstall параметры BeginPrompt, EndPrompt, RunPreSetupCommands и RunPostSetupCommands, а так же секции [BeginUnInsPrompt] и [EndUnInsPrompt].

Вот и всё. Если есть ещё вопросы - задавай не стесняйся.




© OSzone.net 2001-2012