[ djordjeno @ 29.05.2007. 07:07 ] @
Pozdrav,

Imam problem sa service pack-om 1 za VisualStudio 8.0 (2005). Naime kada sam prekompajlirao projekte koje sam radio, sa service pack-om, kada se pokrenu na korisnickoj masini pojavi se greska:

"The application has failed to start because application configuration is incorrect. Reinstalling the application may fix this problem."

Napominjem da na korisnickom racunaru postoji instaliran .Net 2.0 framework, i da aplikacija koja je kompajlirana ranije, bez service pack-a radi bez problema.

Da li je neko imao slicne probleme?

Unapred zahvalan.
[ majstor_01 @ 17.06.2007. 14:07 ] @
Ja sam imao.
Evo sta ja uzrok. Prilikom Instaliranja Service Pack 1, instller update-uje i .NET 2.0 dll ove, koje tvoj program koristi runtime.
Tako da program kompajliran pod SP1 radi samo sa .NET om na koji ima SP1. Takodje program kompaliran bez SP1 nece da radi sa .NET sa SP1.

Znaci updateovani su runtime DLL ovi. Zapravo to najbolje mozes da vidis tako sto pogledas verzije dll ova koji idu sa tvojim programom.

Resenje?

Resenje je u redistribuiras ponovo pratece dll-ove koji su se pomenili, ali kroz ceo msi
ili da .... nista ne radis po tom pitanju.

Ja sam recimo odustao od SP1 bas zbog toga.


Pozdrav
[ mmix @ 18.06.2007. 15:08 ] @
Izvini, ali to sto ti pricas jednostavno ne pije vodu. Visual Studio i .NET Framework su dva razlicita proizvoda i SP za VS ne modifikuje framework i obratno. Isto tako SP za framework ne modifikuje metadata samog framework-a vec ispravlja propuste i bagove. Tako da program pisan u pre-SP1 nece raditi sa SP1 samo ako pokusava da uradi neki exploit bug-a, u suprotnom radi sasvim fino.

Jedino sto se modifikuje sa vs sp1 je sam visual studio i runtime biblioteke za C++. Dakle ako je pute .NET projekat onda greska nema nikakvog smilsa, ali ako koristis C++ onda moras da napravis novi msi koji ce da ima nove merge module za C++ biblioteke. Ali te biblioteke nisu deo .NET frameworka.
[ majstor_01 @ 18.06.2007. 23:24 ] @
Sve u svemu NE RADI jer nije kompatibilno.

Pa ti ga okreni i obrni kako god hoces.

:)
[ mmix @ 19.06.2007. 15:15 ] @
Pa pazi, nije bas. Nigde nije opisao svoje projekte, tako da ne mozemo bas da pretpostavimo da je njegov problem do C++ runtime biblioteka, ako su njegovi programi cisto .NET onda mu nismo resili problem i problem je u necem drugom...
[ majstor_01 @ 20.06.2007. 07:07 ] @
U tome je problem. Videces ako se javi...
:)) Pojelo me zivog pre nekog vremena. :)
Znas li koja je to frustracija...


Pozdrav
[ djordjeno @ 20.06.2007. 09:19 ] @
Pozdrav,

Hvala na prethodnim odgovorima. Mmix je dobro pretpostavio, i radi se o VS managed C++ projektu koji je pisan pod starom sintaksom (/oldsyntax).
Negde po internetu sam nasao da nesto treba manifest promeniti kako se ne bi desio problem sa SP1. Nisam uspeo to da izvedem. Usput meni je bilo potrebno da isporucujem aplikaciju bez instalacije (setup projekta). Hteo sam prosto da prekopiram .exe i potrebne assembly-ije. Napominjem da sam sve assembly-ije prekompajlirao sa VS SP1 ali nije dalo uspeha.

Djordje
[ mmix @ 20.06.2007. 13:12 ] @
OK, ako je to problem onda pogledaj sledeci link:
http://msdn2.microsoft.com/en-us/library/zebw5zk9(VS.80).aspx

narocito ovo poglavlje (tu je opisana i tvoja greska)
http://msdn2.microsoft.com/en-us/library/ms235299(VS.80).aspx

(copy/paste ceo link sa sve zagradama, ES ne moze da formira link koji ima ( i ) u sebi)

U osnovi, ili ces napraviti MSI sa novim merge modulima, ili ces once-off startovati sledeci setup na svim masinama gde radis distribuciju:
Microsoft Visual C++ 2005 Redistributable Package (x86)

U teoriji, ti mozes da promenis manifest svoje aplikacije da pokazuje na stari runtime, ali to nije dobra praksa (postoji razlog zasto je verzija podignuta ), a koliko sam shvatio mog drugara, staticko linkovanje vise ne radi, tako da single EXE metod vise ne funkcionise. (ovo je nepotvrdjeno)