[ codemaker @ 23.03.2013. 17:36 ] @
Situacija je sledeća:
Prošle sam godine kupio jednu biblioteku kojom kreiram EXE programe i startujem pod Windows IIS.
Najpre sam uradio sve primere (oko 40) i to na Windows 7 Enterprise. Sve uredno radilo do pre koji mesec.
Ostavio razvoj za malo kasnije, otprilike do ovog doba godine.

Pre neki dan, pokušam da startujem neke od ranije urađenih primera i sve radi odlično. Posle sam jedan od primera malo izmenio (izmenio tekst nekog dugmeta) i kompilirao ponovo - sada taj isti EXE više ne može da se podigne pod IIS! Poruka je ova:
HTTP Error 502.2 - Bad Gateway
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are "".

Ništa nisam menjao u setup za biblioteku, kompiliranje, apsolutno isti environment kao pre koji mesec.
U panici sam iskompilirao još par primera ponovo, koji su ranije radili ok, i novonastali EXE ne može da se startuje, sa istom porukom!

Sada sledi iznenađenje, na istoj mašini imam virtual XP (Toshiba Qosmio ima hardversku virtualizaciju) i na XP instalisanom IIS, bez problema pokrenuo sa Windows 7 iskopirani EXE koji nisam mogao pokrenuti na IIS 6 na Windows 7 !!??
Zatim sam prekopirao sve fajlove na XP i tamo sam jedan za drugim uspešno napravio sve EXE primere i svaki od njih radi perfektno!!!

Zatim sam neke EXE primere kompilirane na XP prebacio na Windows 7 i pokušao pokrenuti - nisam uspeo, ista poruka.

Došao sam do zaključka da je nešto na Windows 7 sistemu izmenjeno ili nedostaje da bi uspešno poteralo ove EXE programe kreirane ovom bibliotekom. ALi, kako ustanoviti šta je u pitanju?
Možda je neki program za antivirus ili spyware uklonio nešto što je bitno, ali opet - nemam šanse da saznam šta je to.
Očigledno se radi o nekom nedostatku na sistemu Windows 7 koji sprečava IIS da potera EXE jer taj isti EXE koji ne Windows 7 ne radi, kad iskopiram na XP IIS radi normalno....

E sad, sledi još gori deo.
Odavno sam već kreirao internet aplikaciju za neku stranu firmu koja koristi takođe EXE fajlove. Samo što IIS ne tera direktno EXE nego DLL fajlo istog imena. Pa recimo ako treba da potera fajl prvi.EXE, zapravo tera prvi.DLL koji automatski poziva prvi.EXE. Sve to i sada radi odlično, bez problema. Znači da nije problem u Aplication Handlers (isapi_cgi) Aplikacija inače radi na svim mogućim IIS verzijama i Windows verzijama.

Pošto nemam kod za biblioteku koju sam kupio, ne mogu ni da vidim šta i gde crkava i zašto.
Niti šta biblioteka koristi za start EXE programa, predpostavljam deo koda IIS2CGI.DLL koji je M$ izradio još ko zna kada a koji je direktno ugrađen u bibliotelu koja ga onda ugradi u moj EXE
Sad taj sistem na Windows 7 ne radi.
na XP radi
na Windows 2003 ne radi

A radilo je na sva tri IIS
Nemam Windows Firewall nigde, na Windows 7 mi radi AVAST (pregledao da nema nešto blokirano) a na WIndowss 2003 ništa od toga

Za vikend ću instalisati Windows 7 na čistu mašinu i videti da li je tamo sve ok. Ako jeste, to onda definitivno može značiti da je neka komponenta koja je za ovu biblioteku bitna, prestala da radi ili je oštećena.

Nije mi problem da nastavim sa razvojem na XP mašini i distribuiram tako. Ali, šta ako se kod potencijalnog korisnika desi isti naprasni problem i EXE prestane da radi a ja ništa ne mogu kao što ne mogu na svojoj mašini....
Napominjem da za staru web aplikaciju nemam nikakvih problema, IIS je optimalno podešen i postavke nisu menjane veoma dugo i sa istim je postavkama radila i nova biblioteka do nedavno...

Ima li neko ikakvu ideju šta da probam, jer sam potpuno izludeo.
Gde da gledam da li fali neki DLL ili fajl.
Prekontrolisao sistem sa AVASTOM i Search&Destroy - nije ništa nađeno