Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Jak zjistit verzi DirectX na instal CD Windows bez nutnosti instalace?

Hola,
Potřebuju vědět, kde (z ceho) zjistím verzi integrovaného DirectX na install CD Windows 2000( bez i s SP)a XP bez nutnosti jejich instalace,.. když všechny soubory integrovaného DX mají jako verzi uvedeno číslo odvozené od verze OS. Nainstalované to není, takže dxdiag.exe, sonda v registrech apod je v tomhle případě k ničemu.

(třeba integrovaný dxdiag.exe ve W2000 má jako verzi souboru uvedeno 5.0.2134.1, d3dim.dll má verzi souboru 5.0.2180.1) a přitom verze DX má být 4.07.00.0700 čili DirectX 7.0 ze 17.2.2000 - existuje snad nějakej převodní vzorec?

Předpokládám, že je číslo verze DX, tak jak se zobrazi v dxdiag na úvodní obrazovce , zapsaný v nějakým souboru , ale nevím v kterým ( přesněj řečeno jsem na něj zatím nenarazil ) a patrne neumim hledat na netu, protože jsem se k této věci nikde výsledku nedopídil.
Nepotřebuji vědět verzi integrovaného DirectX - to si najdu lehce na netu, potřebuju jen vědět, v kterém souboru ji najdu zapsanou nebo kde a podle čeho se na instalačce dozvím, o jakou verzi DX se tam jedná.

Díky za rady.

Předmět Autor Datum
DirectX reálnou verzi zjistíš přímo v daném DLL (alt+enter)
touchwood 02.01.2010 13:20
touchwood
Mno, reinstalaci DX9 se ti nikdy neprepisou knihovny, kterych UPG neni treba (vsak se te to pta!). P…
mif 02.01.2010 13:29
mif
Já nechci nic reinstalovat ani instalovat.Chci jen vědět, jak zjistím z instalačního cédéčka verzi D…
Hujer95 02.01.2010 13:52
Hujer95
Start - DXdiag - System - Verze rozhrani DirectX. Jeste neco nepochopitelneho?
mif 02.01.2010 13:59
mif
Celkem by mě zajímalo JAK to asi tak zjistím, když Windows 2000 nainstalovaný NIKDE NENÍ a nebude a…
Hujer95 02.01.2010 14:10
Hujer95
Aha. Sorry. Nijak (pokud vim).
mif 02.01.2010 14:23
mif
hmm, to by mně taky zajímalo. Microsoft v tom označování verzí má celkem guláš ( nebo to je záměr?).…
hrom99 03.01.2010 01:36
hrom99
Je to jednoduchý - všechno je založený na inf souborech. Stáhnul jsem si: ftp.stahuj.cz Uložil a ot…
kmochna 03.01.2010 01:51
kmochna
Ök, díky,ale dxver.inf ani dxnt.inf na instalačce nejsou(ani v komprimovanem tvaru dxver.in_, dxnt.i…
hrom99 03.01.2010 03:01
hrom99
Tyhle historický verze už u sebe nemám. Instalace by měli proběhnout pomocí inf souborů. Co cab soub…
kmochna 03.01.2010 03:50
kmochna
Projel jsem to celý (CABy i zkomprimovaný archivy *.zi_(zip),CABy obsažený v zkomprimovaných *.ms_(m…
hrom99 04.01.2010 08:51
hrom99
vo w2k bola integrovaná dx7.0a verzia,ktorá sa volne nedistribuovala a na tom nič nezmenila žiadna v…
audax 04.01.2010 13:06
audax
w2k nemám. na mých XP: E:\I386\HIVESFT.INF HKLM,"SOFTWARE\Microsoft\DirectX","InstalledVersion",0x…
kmochna 04.01.2010 13:40
kmochna
:puff::beer: Takže začnu tímhle: 1/gameport.inf, ksfilter.inf a další: DriverVer=03/08/2000,5.00.219…
hrom99 05.01.2010 03:44
hrom99
Není zač. ;-) inf tím klíčem zapisuje do registry. Takže jestli bys hledal aktuální verzi nainstalov… poslední
kmochna 05.01.2010 13:12
kmochna

Já nechci nic reinstalovat ani instalovat.Chci jen vědět, jak zjistím z instalačního cédéčka verzi DX,která je implementovaná v systému W2000 na cédéčku.Myslím, že jsem to nahoře uvedl dost srozumitelně.

Prostě příklad: Nemám internet, jsem na celým světě sám, nemám telefon, rádio, televizi,vysílačku, známý,zabetonovali mě s počítačem na kterým je XP a CDčkem Windows 2000 bez manuálu do místnosti 3x3m a já se chci z nedostatku zábavy dozvědět bez nutnosti instalace W2000, jaká je tam verze DirectX. :-)

Na Wikipedii jsem už byl a nic použitelnýho k zjištění implementované verze DX vlastními silami přímo na install CD jsem tam nenašel. A ty verze, co jsem uvedl, jsou právě zjištěný po kombinací ALT+Enter.
Takže tudy cesta nevede.
Další nápady?

Celkem by mě zajímalo JAK to asi tak zjistím, když Windows 2000 nainstalovaný NIKDE NENÍ a nebude a na PC,kde dxdiag spustím, jsou XP.To mě přece zjistí verzi DX na XP a ne veri DX na CD W2000??!?Přečti si pořádně zadání.

hmm, to by mně taky zajímalo. Microsoft v tom označování verzí má celkem guláš ( nebo to je záměr?).
Ideální by bylo kouknout přes alt+enter do vlastností a jednoduše si verzi ze souboru zjistit( jak tomu bylo dříve - W98, ME), ale bohužel, to, co se zjistí, hledaná verze DirectX opravdu není, ale je to, jak píše Hujer95, úplně jiný číslo (odvozenina verze systému), který o verzi DirectX nic neříká.Takže když chci zjistit verzi DirectX obsaženou v instalačce, musím se spoléhat pouze na pravdivost různých záznamů na internetu, které múžou/nemusí být přesné/správné a sám si to proto bez instalace manuálně ověřit nemůžu. V manuálu o tom není zmínka a prokousávat se nezajímavými microsoftími stránkami s nejistým výsledkem hledání je porod.
Nebo neexistuje nějakej program ( něco na způsob detektorů ochran jako třeba A-Ray scanner,Clony XXL...), kterej projede CD a na základě toho, co najde, vyhodnotí verzi DirectX na CD ?
Kdyby někdo věděl, jak na to, nestyďte se a hoďte sem informaci, celkem mě to taky zajímá :-)

Je to jednoduchý - všechno je založený na inf souborech.

Stáhnul jsem si: ftp.stahuj.cz
Uložil a otevřel v 7zip
otevřu si v notepadu soubor dxnt.inf
a dole čtu:

[Strings]
Msft = "Microsoft"
ExceptionClassDesc = "DirectX 8.1 for Windows 2000"
DiskName = "DirectX 8.1 Installation Disk"

ev. dxver.inf

HKLM,"%DX%","Version",,"4.08.01.0881"

viz první link na wiki

Pokud máš instalačku systému, tak pokoukni po inf souborech (seznam máš třeba v uvedený instalačce)
Verze knihoven v tomto případě není důležitá, důležitý jsou text. instalátory (inf), tam to bude napsaný.

Ök, díky,ale dxver.inf ani dxnt.inf na instalačce nejsou(ani v komprimovanem tvaru dxver.in_, dxnt.in_)- je možný, že se vytvoří až po instalaci a že jsou na CD někde důkladnou microsoftí kompresí zkomprimovány-tedy před instalací nečitelné. Ve verzi DirectX, která je volně ke stažení zjistit verzi DirectX jde normálně, ale v implementované verzi bude asi se zjištěním problém, protože každej sobor DX se tam tváří, jako kterejkoliv jinej soubor dané verze OS.

Instalačku W2000 mám, ale jediný,co jsem na instalačce našel při hledání textu ve všech souborech za použití klíčovýho slova "DirectX"(ostatní klíčový slova jako d3d,dx, 4.07,..taky bez úspěchu) a při zapnutým prohledávání archívů bylo tohle:

\I386\WIN9XUPG\Migdb.inf

[OsFiles]
Microsoft DirectX Diagnostics,, dxdiag.exe , COMPANYNAME("Microsoft Corporation"), PRODUCTVERSION("4.06.00.0318")
Microsoft DirectX Drivers

a to neni ono, protože tohle je verze DirectX 6.0 pro W98 a přímo W2000 se netýká. Na CD by měla být verze 4.07.00.0700, čili DirectX7.0 z února 2000 (datum vydání W2000),ale BILL ji asi solidně zamaskoval.:-)
Nějakej další nápad? Taky si myslím, že to tam někde musí být zapsaný,ale kde ještě?

Tyhle historický verze už u sebe nemám. Instalace by měli proběhnout pomocí inf souborů. Co cab soubory, nejsou tam? Mohlo by to být v nich (je to archiv). Ten odkaz se týká dxdiag - co si pamatuju na XP bez SP, tak tam taky byla stařičká verze dxdiag.

No zkus to přímočaře. Stáhni DX7, mrkni po souborech a jdi je vyhledávat, inf by tam měli být taky. Zahrň hledání i na cab soubory a samorozbalovací exe. Taky můžeš použít Start/Spustit/msconfig a tlačítko rozbalit soubor. Na starých w9x, kdy se to řešilo cab archivy bylo v rootu instalačky soubor se seznamem souborů v archivech, jak je to na w2k nemám tucha. Každopádně verze DX obsažená v instalačce bude v textu a ideálně v instalátoru = inf

Projel jsem to celý (CABy i zkomprimovaný archivy *.zi_(zip),CABy obsažený v zkomprimovaných *.ms_(msi) souborech MSI instalátoru), dekomprimoval všechny *.in_(inf) soubory co jsem našel a ostatní ms archívy, který se mi povedlo nějak otevřít a nic, kde by byla verze uvedena. Dxver.inf tam neni a právě v tomto souboru je uvedena verze v normálním balíku DirectX7. Opravdu je to tam asi integrovany jako kterejkoliv jinej soubor OS a v průběhu či na závěr instalace W2000 se patrně informace / či inf soubor / o implementované verzi DX odněkud vygeneruje a zapíše do registru. Verze DX na instalačce Windows 2000 asi manuálně zjistit nepůjde / dekompilovat to určitě nebudu :-D/.

vo w2k bola integrovaná dx7.0a verzia,ktorá sa volne nedistribuovala a na tom nič nezmenila žiadna verzia service packu,verzie jednotlivých integrovaných dx súčastí sú v samostatných *.inf súboroch[bda.inf,ks.inf,kscaptur.inf,gameport.inf, ksfilter.inf,dshowext.inf......],nie v jednom alebo nejakom súhrnnom súbore/súboroch,ako to má kompletná directX redistributable/redistributable SDK inštalačka,súhrnné *.inf súbory pribudnú do systému až po inštalácii nejakej novšej verzie directX,ktorá inovuje pôvodnú integrovanú a informačné súbory pribudnú v INF zložke a v zložkách DRIVERS/DriverStore,okrem toho korektné verzie súborov sa vygenerujú a kontrolujú aj pomocou systémových certifikátov a *.man/*.cat súborov,z ktorých sa certifikáty extrahujú pri inštalácii a ukladajú do registrov a systému a zapisujú aj do súborov INFCACHE.*

w2k nemám. na mých XP:

E:\I386\HIVESFT.INF

HKLM,"SOFTWARE\Microsoft\DirectX","InstalledVersion",0x00030001,\00,00,00,09,00,00,00,00
HKLM,"SOFTWARE\Microsoft\DirectX","Version",0x00000000,"4.09.00.0904"

Jestli to hledáš ručně, tak to tě lituju: PSPad - hledat v souborech / DirectX

Každopádně verze DX obsažená v instalačce bude v textu a ideálně v instalátoru = inf

tož tak. Neříkal jsem že to bude v dxver.inf ale v nějakým inf.:-p

:puff::beer:
Takže začnu tímhle:
1/gameport.inf, ksfilter.inf a další: DriverVer=03/08/2000,5.00.2195.1 => tudy cesta nevedla, protože to nejsou verze DX, ale verze OS
2/DirectX 7.0 tam opravdu je:

HKLM,"SOFTWARE\Microsoft\DirectX","Version",0x0000 0000,"4.07.00.0700"
(verze 7.0a by měla číslo 4.07.00.0716 (RC0))

a verze OS tak sedí
Prodspec.ini:
[SMS Inventory Identification]
Version=1.0
[Product Specification]
Product=Windows 2000 Professional

Version=5.0
Localization=Czech
ServicePackNumber=0
BitVersion=40
[Version]
DriverVer=03/08/2000,5.00.2195.1
(teda až na to datum, ale je to CZ verze, tak předpokládám, že vyšla o něco pozděj než verze EN)

3/S těmi certifikáty a extrakcí verze do souborů až v průběhu instalace jsem si to myslel taky - zkusím w2k někdy až bude čas nahodit a uvidíme.

4/A teď k tomu, jak jsem dříve hledal a nenašel a proč jsem nenašel a ani najít nemohl...:-)

Zkusil jsem na kmochnovu radu ten PSPad a hledaný text byl ve zmíněném souboru objeven téměř okamžitě...Kde byl tedy problém?
Používal jsem k hledání textu Total Commander (hledat to manuálně soubor po souboru,...asi bych u toho zešedivěl - v \I386 je celkem 4004 souboru ) a zapomněl jsem (lépe řečeno nenapadlo mě) zatrhnout v okně u voleb hledání textu, volbu "unicode". Při zadání čísla verze DX ve tvaru(bez uvozovek): "4.07.00.0700" to nic takovýho v souborech nenašlo,když jsem číslo hodil do uvozovek, tak taky ne, s klíčovým slovem "directx" to bylo taky mimo....po zatrhnutí "unicode" to hned vyhodilo v případě zadaného čísla verze jedinej soubor - HIVESFT.INF, ve kterým opravdu zápis čísla verze DirectX byl. Se slovem "directx" se to taky hned našlo .Kódování UNICODE!
Všechno zlý je ale k něčemu dobrý - taková zkušenost navíc se hodí.

Takže kmochna, díky moc za trpělivost a za rady - hlavně za tu poslední, protože kdyby tady ještě dnes nebyla, tak jsem se už na to chystal s konečnou platností vy*** :)):beer: Díky!

Není zač. ;-) inf tím klíčem zapisuje do registry. Takže jestli bys hledal aktuální verzi nainstalovaného DX v nainstalovaném systému bude to podle hodnoty:
¨

HKLM,"SOFTWARE\Microsoft\DirectX","Version",0x0000 0000,"4.07.00.0700"

v registry HKLM\SOFTWARE\Microsoft\DirectX hodnota Version.

Zpět do poradny Odpovědět na původní otázku Nahoru