Jak kompilować w vs2005 plik na wiele platform


(r_jaro) #1

Witam.

W jaki sposób mam w Visual Studio 2005 kompilować pliki aby po utworzeniu pliku exe mógłbym

uruchomić dany plik i na Vista beż zadnych dodatkowych bibliotek i na XP czy win2000.

Bo normalnie skompilowany plik powinien zajmować ok 500KB a mi zajmuje tylko 50KB - czyli będzie się

czepiał dodatkowych bibliotek w innych systemach i bez visuala.

Pozdrawiam.


(Kolmar) #2

Co ty opowiadasz, jak tworzysz program w VS2005 to kompilujesz do tzw. języka IL, który następnie jest ponownie kompilowany przez środowisko uruchomieniowe platformy NET czyli - CLR ale już na konkretnej maszynie. Podsumowując w pliku *.exe masz zapisane również coś takiego jak "podzespół" oraz źródła swego programu zapisane w języku pośrednim IL.

Wszędzie tam gdzie będziesz miał zainstalowanego NET frameworka uruchomisz swój program.


(r_jaro) #3

No chodzi mi o coś takiego że:

Powiedzmy tworzysz nowy projekt - wystarczy sama forma z przyciskiem zamknij Close();

Kompilujesz uruchamiasz. Powstaje ci plik exe. Na viscie ten plik mogę uruchomić bo tu mam zainstalowanego

VS 2005, ale tego pliku nie mogę uruchomić na Win XP - dostaje komunikat żeby plik zainstalować jeszcze raz.

W builderze to robiłem tak że na innych kompach to się czepiał - brak biblioteki borlandmm.dll lub coś podobnego to jak wziąłem budowanie pliku wykonalnego z dołączeniem bibliotek to juz się nie czepiał że coś mu tam brakuje.


(Kolmar) #4

Dobra już rozumiem, na XP musisz mieć zainstalowany pakiet uruchomieniowy czyli NET Framework (conajmniej w wersji 2.0) bez tego żaden program napisany w technologi NET ci nie pójdzie. Ten framework zawiera m.in. kompilator "JIT" który jest niezbędny do uruchomienia programu (ponownej kompilacji).

Acha jeszcze jedno, w Vista ci się uruchamia bez problemów bo cały ten system oparty jest na tej technologi i masz wbudowanego frameworka w system.


(r_jaro) #5

No niestety ale nadal nie działa - nawet po zainstalowaniu pakietu Frameork


(Kolmar) #6

A podczas próby uruchomienia programu wyskakuje ci chociaż okno debugowania ??


(r_jaro) #7

Mam komunikat:

"Nie można uruchomić aplikacji ponieważ jej konfiguracja jest niewłaściwa. Problem ten może rozwiązać ponowne zainstalowanie aplikacji"

No i do tego przycisk 'OK" i to wszystko


(Kolmar) #8

Tyle razy uruchamiałem na innych systemach programy pisane pod VS2005 i jeszcze czegoś takiego nie miałem. Co to w ogóle za program, masz w nim ustawione na sztywno jakieś ścieżki systemowe itp. ?


(r_jaro) #9

No nawet sam formularz (samo okno bez żadnego kodu) jak uruchamiam to to samo sie dzieje.


(Kolmar) #10

To naprawde ciekawa sytuacja, niestety nie jestem wstanie pomóc, zajrzyj może na forum codeguru.pl

Skompiluj program pod VS2008 i zobacz czy błąd też będzie występował.


(Janeczkaaj) #11

W odróżnieniu do rozmówcy, bardzo dobrze wiem o co chodzi. Też miałam takie problemy. W borlandzie C++ też odrazu wszystko nie chodziło na innych koputerach i trzba było porobić różne sztuczki. Problem ten wcale nie wynika ze źle napisanego programu!! Istotnie ma to zwiazek z tym że na tym drugim kompie nie ma .NET Framework. Ty napewno korzystasz z owych bibliotek.

I teraz najważniejsze- ROZWIĄZANIE PROBLEMU :slight_smile:

mozesz spakować biblioteki wraz z programem co zajmuje dużo miejsca :confused:

a w ogóle to zobacz sobie to http://wiki.gamedev.pl/Dystrybucja_apli ... PP_2005_EE :slight_smile:


(Kolmar) #12

janeczkaaj ,

Ty nie mówisz o niczym innym jak o dołączeniu wymaganych bibliotek do danego programu, a to jest nic innego jak zaaplikowanie frameworka. Tego typu biblioteki środowiska uruchomieniowego platformy DOTNET (CLR, JIT, class library itd.) można dołączyć do instalki programu (pakietu msi).

Podczas tworzenia paczki msi (pakietu instalatora) jest opcja umożliwiająca dołączenie frameworka. Podczas instalacji zainstaluje się zarówno program główny jaki i dołączony do niej framework (w osobnych procesach instalacyjnych) więc ogólnie mówiąc o niczym nowym nie napisałeś.