Soci (Soczó Zsolt) szakmai blogja

2007.07.05.

Jópofa Vista trükkök

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 11:28

Innen.

Egy apróság, nem jó semmire, de érdekes:

Flip (Alt+Tab) and Flip 3d (Window + Tab) mode can be made stay on the screen when you also use Ctrl key.

2007.06.14.

Kismanó a Vista DVD-n?

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 12:12

Akinek van Vista DVD-je nézze már meg légyszi nagyítóval vagy mikroszkóppal, hogy miféle jómunkásemberek laknak a DVD hologramjában?

MS itt kommentálja a dolgot.

2007.05.10.

Gadget MCP lettem :)

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 09:57

Tegnap lenyomtam a 70-620-as vizsgát, ha már egyszer maradt még ingyenes vócserem a Béta vizsgák miatt. Könnyebb volt, mint amennyire tartottam tőle. És a monitor se villogott a Netacademiában, nem azért, hogy fényezzem Marcellt, (úgyis Vénuszként tündököl az a magyar IT egén :), de a 15 colos LCD-k bár nem nagyok, de nyugodt, éles képük volt. Légkalapács se volt, szemben az előző Controlos vizsgámmal. És a gatyámat se vették le rólam, hátha abban van a malicsusz puska. :) Volt viszont switch zúgás, de ahhoz már hozzászokott az ember. :)
Egy nagatívum volt, a lányok nem jöttek le az emeletről, fel kellett mászni a másodikra. Borzasztó ez a modor. :)

A vizsga kb. hozta azt, amit leírtak a tematikában, kikérdezték az összes új cuccot, amelyekkel egy részével büdös életben nem találkoztam volna: Calendar, Meeting Space, SideBar, SideShow, Power Management, Mobil szinkron, Gadget-ok. Volt pár kérdés az UAC-ról, WIFIről, policykról, azok értelmesek voltak.
Szóval ez egy nem rendszergazdai vizsga, hanem valóban ismered-e az új cuccokat a Vistában vizsga. Az eddigi vizsgáim közül ezt érzem a legértéktelenebbnek.

2007.05.02.

Why do some applications disable Windows Aero?

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 14:45

Pl. a Media Player Classic nem tűri meg maga alatt a Vista Aerot, a Vista kikapcsolja, ha elindítom.
Itt leírják, miért.

2007.04.25.

Telnetet a Vistára!

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 08:16

Hideg zuhanyként ért, amikor pár hónapja telnettel akartam megnézni, hogy elérhető-e a másik gépemen lakó SQL Server, de nem volt telnet a Vistán.
Alapban nem települ, de nyilván fel lehet rakni. Lásd képpel itt.

2007.04.23.

Vista zárolt admin account

Filed under: Security,Szakmai élet,Vista — Soczó Zsolt @ 16:22

Ha valakinek annyi esze van, hogy kiveszi magát az admin csoportból, majd elfelejti az administrator account jelszavát, és azzal kilockolja az egyetlen admin accountot (illetve már eleve is ki van, by default), akkor melege lesz. :)

Szerencsére safe módban a lockolt admin ellenére is be lehet lépni.

Vista IE7 + Runas már nem jó barátok

Filed under: IE7,Szakmai élet,Vista — Soczó Zsolt @ 13:46

Tesztelni szerettem volna valamit IE7 alatt, de úgy, hogy más user nevében indítom el. Nem indul el, a hibaüzenet arról szól, hogy ő bizony nem hajlandó más nevében futni, csak az interaktív felhasználó nevében (aki CTRL-ALT-DEL-lel belépett).

Internet Explorer
—————————
The RUNAS command is not supported.

Megnéztem, a kódjában explicit megnézik ezt a helyzetet, és kiszállnak, ha fennáll.

A téma szakértőjének blogjából:

“On Windows Vista, that command line won’t help you either [RunAs]. Internet Explorer on Windows Vista specifically checks to see whether it is being executed as a different user, and refuses to run if that is the case. (The reason is because IE communicates with a broker process — ieuser.exe — that runs as the interactive user.)”

Marad a Fast User Switching, ami nem is annyira fast…

2007.04.20.

Diagnosztika a Vistában

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 09:04

Vannak dolgok egyes programokban, amelyeket csak állandóan kerülgetek, de sose veszem a fáradságot, hogy megnézzem a doksit, miről is szól. Aztán utólag rendszeresen kiderül, hogy valami okos, hasznos kis szolgáltatás mellett mentem el.
Így jártam a Vista Event View-erével is. Az előző verzió gondolom ismert mindenkinek, volt 3 fő ág, Application, System és Security. A programok ide ömlesztették a logjaikat, aztán lehetett vadászni a nagy zajban a valóban értékes infók után. Persze, bolt Event Source és társaik, amivel lehetett szűrni.
No, Vistában van egy új rész, Applications and Services Log. Ezekbe külön tudnak a programok írogatni, mindnek van saját log fájlja, nem a nagy masszába kerülnek be a bejegyzések.

Vista Event Log Viewer, benne az új Applications and Services Logs

Alapban nincs minden logolás bekapcsolva, és még az összes log forrás se látszik egyszerre. Az Applications and Services Log node-on jobb gombra be lehet kapcsolni a a diagnosztikai logokat is, így még sokkal több logforrás kapcsolható be. Figyelem, a GUI beteg, csak akkor jön fel a View context menü, és benne a diagnosztikai logos opció, ha az Applications and Services Log node a kiválasztott. Azaz ha egy másik kiválasztott, de csak rákattintasz jobb gombbal, akkor nem ez a menü jön fel! Gratula a szerzőnek.

A doksiból:
“Applications and Services Logs
Applications and Services logs are a new category of event logs. These logs store events from a single application or component rather than events that might have systemwide impact.

This category of logs includes four subtypes: Admin, Operational, Analytic, and Debug logs. Events in Admin logs are of particular interest to IT Professionals using the Event Viewer to troubleshoot problems. Events in the Admin log should provide you with guidance about how to respond to them. Events in the Operational log are also useful for IT Professionals, but they are likely to require more interpretation.

Admin and Debug logs are not as user friendly. Analytic logs store events that trace an issue and, often, a high volume of events are logged. Debug logs are used by developers when debugging applications. Both Analytic and Debug logs are hidden and disabled by default.

Az egész azért merült fel, mert nem sikerül működésre bírni az ActiveX Installer Service-t. A forráskódját böngészve láttam, hogy rengeteg trace-t rakott bele a szerző, de azt hittem azt csak az MS tudja használni debugolás közben. Mivel ott volt a szerző neve a forráskódok fejlécében, írtam neki. 1 óra múlva válaszolt. :) Ő írta azt, hogy az előbb kifejtett új Event Log részben be lehet kapcsolni az ő logolását is, így elvileg sokkal több infóm lesz, hol akad el a certificate ellenőrzés. Majd kiderül.

A teljesség kedvéért még pár infó. A logokat lehet parancssorból is adminisztrálni és lekérdezni a wevtutil.exe segítségével. A lekérdezések kapcsán egyből a logparser jutott az eszembe, de ez nem úgy működik, nem sql, hanem XPath formátumban lehet megfogalmazni a lekérdezéseket.

Pl. logforrások listázása:
wevtutil el

Az AxInstallService log teljes kidumpolása:
wevtutil qe Microsoft-Windows-AxInstallService/Log

Kimenet:
[source:xml]



7
0
4
0
0
0x4000000000000008

0


Microsoft-Windows-AxInstallService/Log
socivista



Exiting Policy Watch Thread


[/source]

A lekérdezéseknél az EvtQuery API függvényt használják a háttérben. A query nyelv nem teljes XPath implementáció, a // operátorra például rögtön böfögött, hogy ő azt ugyan nem ismeri. A nyelv leírása itt található.

2007.04.18.

Apró körültekintés a Vista forráskódban

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 09:20

Kb. két hete felrakták a forráskódokat tartalmazó szerverre a Vista forráskódját is (az MVP-séghez lehet kérni a hozzáférést, én éltem vele, használom is rendszeresen). Pont jól jött, mert az ActiveX Installer Service nem hallgat rám, pedig a munkámhoz ezt be kell konfigurálni majd az ügyfeleknek.
Debugolni lenne a legegyszerűbb ilyenkor, de egyelőre még nincs Vista kompatibilis kártyaolvasó driver, így marad az XP alóli kódböngészés (nyilván marha nagy secu van, nem csak jelszó alapú a hozzáférés).
Természetesen a kódokról nem beszélhetek direktben, főleg nem pasztázhatok be ide a blogba belőlük, de egy apróságot megosztok veletek, tetszett.
A Debugging Windows Applications könyv óta nagy szerelmese vagyok az Asserteknek. Az az igazság, míg nem olvastam a könyvet nem értettem, mire is való az assert? Azért nem értettem, mert ha úgyis van pl. egy függvényben paraméter ellenőrzés, ami exceptiont dob, vagy E_INVALIDARG-ot ad vissza, ha nem stimmel valami, akkor minek duplikálni az ellenőrzést még ASSERT-ekkel is? Nos, azért, mert az assert kiváltódása esetén egy gombnyomásra elindul a debugger, és benn vagyok a hibás részben, abban a kódrészletben, ahol nem teljesül az általam elvárt feltétel (invariáns, a tudományos neve? :). Mésként lehet, hogy csak 5 szinttel feljebb derülne fény a hibára, amikor már nem ismertek a mélyebben hibázó metódus lokális változó értékei, hisz a verem lebomlott. Tképpen az assertekkel a követelmények egy részét kódolja az ember a kódba, és egyúttal önvédelmet épít be a saját hibái ellen.

No, vissza a forráskódhoz. Az ieinstal.exe forrását nézegetem, hátha rájövök, miért nem úgy működik, ahogy szeretném. A forrás C++-ban íródott, nem C-ben. (Az oprendszer vegyesen asm, C és C++ kódokból épül fel.)
COM alapú, ezért tele van HRESULT kezeléssel. Ugye ez a hagyományos, status kód alapú hibakezelés, ami, ha csak if-elseket használunk nagyon mélyen betolt kódblokkokkat eredményezne. Ezt megelőzendő vagy exceptionkezelést használunk, vagy gotokat. Az első megoldás C++-ban nem annyira elterjedt, inkább managed és script környezetben használják elterjedtebben (de lehet, hogy csak nem értek hozzá). C++ kódokban gyakoribb a goto használata. if (FAILED(hr)) goto ErrorExit. Így sík lesz a kód, nem agyonindentált.
Az tárgyalt forráskódban szinte minden metódusban van két kijárat, egy sikeres és egy sikertelen, ahová gotoval ugrik be a szerző. Érdekes a következő. A sikeres kijáratnál vagy egy ilyen sor: ASSERT(SUCCEDED(hr)). A hibás ágnál: ASSERT(FAILED(hr)). Azaz a debug kód ellenőrzni, hogy ha egyszer a sikeres ágra engedtük a kódot, akkor ne adjunk már vissza véletlenül hibára utaló HRESULT-ot, és fordítva.
Apró, de szellemes trükk.
Mellesleg én sokáig legacynek éreztem a statuskód alapú hibakezelést, ez volt a .NET-es tankönyvekben is. Zoxigen annak idején adott egy linket, ahol Raymond barátunk rendberakta a fejemben a kérdést. Kötelező olvasmány. Van utójáték is a témához.
Mióta ezt olvastam mindig írok az if-ek mellé else-t még akkor is, ha abban nem csinálok semmit. Ilyenkor egy commentben odaírom, hogy ebben az ágban nincs teendő, de legalább látom, hogy nem feledkeztem meg róla.

2007.03.07.

Hogyan kell Vista alatt szervizeket debugolni?

Filed under: Debugging,Szakmai élet,Vista — Soczó Zsolt @ 14:52

Ha Vista alatt akarunk szervizt debugolni bajban vagyunk, mert másik sessionben fut, mint a debuggerünk (az UAC miatt).

A megoldás remote debugging (lehet van más is), itt leírják, hogyan kell ezt megtenni.

Visual Studio 2005 Service Pack 1 Update for Windows Vista letölthető

Filed under: Szakmai élet,Vista,VS 2005 — Soczó Zsolt @ 10:27

A bétáját már régóta használom, debugolás közben renszeresen beteg volt a gui, remélem a végleges ezt is gyógyítja.

Forrás.

2007.02.20.

IE bolondítás scriptből – Operation aborted

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 18:03

Nem kis fejtörést okozott, hogy egy addig jól működő, minimális js kódot tartalmazó html oldaltól beáll az IE7 (Vista). Azt mondja egy messagebox: Operation Aborted.

Az alábbi script nálam garantáltan kiváltja a hibát:
[source:html]






[/source]

A porbléma okai az egyből lezárt div elemek. Meg persze a bugosan megírt IE parser.
Kíváncsi lennék, más IE verzió is befagy-e tőle?
Ja, és javítás után ki kell törölni a cache-t, sima refreshre újra befagy a megjegyzett rossz verziótól.

2007.01.23.

Vista RDP kliens jelszavak előre megadása

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 17:12

A Vistán RDP kliensbe nem lehet előre beírni a jelszót, csak egy külön credentials ablakban, amiben viszont nincs kopi-paszta. Bonyolult jelszavaknál ez igen “örömteli”.

Szerencsére van megoldás (az egyik kommentben), a lényeget bepasztázom ide:

“A simple way around this is to first store the credential you want to use in CredMan outside of Remote Desktop. Fire up CredMan by running “control keymgr.dll” at the command prompt. Then press the “Add” button. Enter in the IP address of the server (e.g. “192.168.0.1″) and the username and password you want. Then make sure you use the “Web site or program credential” radio selection (for connections to non-Vista machines). Save the credential and start Remote Desktop. Expand the Remote Desktop UI and type in the IP address in the “Computer” field on the General tab and it should pick up the saved credential. Then hit “Connect” and you should not be prompted.”

2006.12.21.

VS 2005 SP1 Vistán

Filed under: Vista,VS 2005 — Soczó Zsolt @ 11:51

Felraktam a jószágot, kétszer futott neki, mert egyszer felment a sima VS-re, egyszer meg a Team Explorerre is (ezt külön kellett felrakni, de részévé vált a vsnek).

Van hozzá még ez:

Visual Studio 2005 Service Pack 1 Update for Windows Vista Beta

Ezek nélkül is lehetett dolgozni a vs-sel, csak időnként befagyott. Pl. ha unit teszteket debugoltam, nem mindig jött vissza a debugból, újra kellett indítani, illetve időnként rapaint problémái is voltak. Januárban kiderül, mennyit javítottak rajta.

2006.12.11.

Vista Run as administrator bosszatások

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 18:52

Vistán ugye az admin se admin. Ok, ez szép dolog, segítenek az önmegtartóztatásban. Ha valamit mégis adminként kell elindítani, akkor jöhet a Run as admin menüpont. Cool. Csakhogy, ekkor más környezetben találjuk magunkat.

Pl. a substolt drive-ok nem látszanak. A batch-ek elérési útjai elszaródnak. A környezeti változók mások, a user függő beállítások elvesznek, dpapi titkoknak annyi, stb. Szóval egyelőre nem békültem ki az új secu rendszerrel. Csak mondok egy egyszerű, bosszantó példát.

Volt egy jó kis msi-m (igen, enterspájzban ebben van minden), és az leállt valamilyen hibával telepítés közben. A megoldás: adminként kell telepíteni. Beleraktam egy batba: msiexec -i ize.msi, a baton jobb gomb, Run as admin. És nem! Nem találja a misi fájlt, mivel a c:\windows\system32-re váltott át, a run ad miatt. No, ezért nem szeretem én ezt, lehet, hogy szegény UAC ki lesz kapcsolva.

Lehet megkövezni.

2006.12.06.

Omea úr szétüti az IE7-et Vistán

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 15:29

Elszáll tőle, C runtime hibával. Ki kell kapcsolni az omea helper ojjektumokat.

Ő is belefutott, leírta, mit látott.

Én a Start | All Programs | Accessories | System Tools | Internet Explorer (No Add-ons)  alatt kapcsoltam ki a  3 omea helper ojjektumot.

Amúgy nekem nagyon bejött ez a Vista, szinte már csak abban dolgozok, bár még fenn van az XP egy másik partíción. Ami nagyon tetszett pl., hogy rádugtam a kamerámat, és szó nélkül felismerte, és már lehetett is róla leszedni a fimet. Xpn ez kínkeserves volt, a szar sony driverek miatt, ezért vár már 6 kazetta feldolgozásra.

2006.12.04.

Vista Resource Monitor

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 11:21

A számítógépek egyik legbosszatóbb tulajdonsága, hogy várni kell rájuk. Legalábbis Windows XP alatt, Linuxon gondolom nem. :)

Na, a várakozások, megakadások egyik fő oka nálam, hogy vár a gép a vinkóra. Ilyenkor mindig elővettem a File Monitort, és néztem ki az az állat, aki szétreszeli a vinyót. Általában az Omea Reader volt a bűnös, de az Office 2007-tel az Outlook is beállt a sorba.

Vista alatt vettem észre, hogy a Task Managerből megnyitható egy Resource Manager. Ebben a Diszk nézet alatt szépen látszik a processzek hdd használata Byte/min egységben. Ez valóban remek dolog, ha hosszabb idejű a terhelés, rövid burstöket nem tudom, kimutat-e? Ha nem csak percenként átlagolna, akkor még erre is jó lenne. Mindenesetre tetszik, sokszor segíthet még ez.

2006.11.17.

Töltögetem a Vistát, csak ki van borulva a szerver

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 22:01

Mivel még pár tízezren hasonlóan tesznek.

vistadl.JPG

2006.11.12.

Új Crypto API a Vistában; Cryptography API: Next Generation, CNG

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 00:09

MSDN Docs.

Röviden:

Cryptography API: Next Generation (CNG) API is the long-term replacement for the CryptoAPI. CNG is designed to be extensible at many levels and cryptography agnostic in behavior.

CNG has the following features.

  • CNG supports cryptography in kernel mode. The same API is used in both kernel and user mode in order to fully support the crypto cryptography features. Both SSL/TLS and IPSec operate in kernel mode in addition to boot processes that will be using CNG.
  • Federal Information Processing Standards (FIPS) 140 Certification. CNG is aiming at getting FIPS 140-2 level 2 certification together with Common Criteria evaluation on selected platforms. Other platforms will have FIPS 140-2 level 1 certification. These will be the same implementation, just different certifications.
  • CNG complies with Common Criteria requirements by storing and using long lived keys in a secure process in order to comply with Common Criteria requirements. Audit appropriate actions in the CNG layer.
  • CNG provides support for the current set of algorithms in CryptoAPI 1.0. Every algorithm that is currently supported in CryptoAPI 1.0 will continue to be supported in CNG.
  • CNG provides support for Elliptic Curve Cryptography (ECC) algorithms. A number of ECC algorithms are required by the United States government’s Suite B effort.
  • Key Isolation & Storage: Any machine with a Trusted Platform Module (TPM) will seamlessly provide key isolation and key storage in TPM

Szóval kernel módú a játékos. Érdekes, ahogy egyre több dolgot lenyomnak kernel módba. Ez valahol érthető számomra, mióta az Inside Windowsban a GDI-vel kapcsolatban leírták miért léptek így, de azért egy kicsit mindig aggódok, amikor a TCB-t nyomják tele sok, pontenciálisan bugos cuccal. Lelkük rajta.

2006.11.11.

Windows Vista for Developers, Part 6, The New File Dialogs

Filed under: Szakmai élet,Vista — Soczó Zsolt @ 17:54

http://weblogs.asp.net/kennykerr/comments/903624.aspx
Minden interface COM alapú (hallott valaki olyat, hogy .net alapú lesz a Vista?). Persze gondolom a 3.0-s fwben vannak wrapperek hozzá. Vagy a WPF-ben. Nem tudom, megnézem majd reflectorral, de még csak most megy fel a 3.0-s fw.

Aki tudja, segíthet.

Update: rájöttem, hogy nem voltam eszemnél, hisz a Windows Forms rész a 2.0-ás a 3.0-ban, így abban biztos nincsenek benne az új dialogok. Már csak a WPF-ben lehetnek.

« Older PostsNewer Posts »

Powered by WordPress