Uruchamianie programu napisanego w C# bez .net

0

Witam, miałem napisać pewien programik na praktykach. Napisałem go w Visual C# na komputerach z .net framework 3.5 działa bez problemu. Chciałbym jednak żeby działał też na maszynach bez tego środowiska.

Postanowiłem utworzyć instalkę, która wraz z programem instaluję środowisko, jednak to rozwiązanie również się nie spodobało, bo wymagało pobierania plików z neta. Z kolei instalator off-line, jeżeli taki jest, zajmowałby ponad 50mb. Co przy rozmiarze programu 1mb, również jest nie do zaakceptowania.

Będę wdzięczny za jakąkolwiek pomoc.

Pozdrawiam!

0

Bez frameworka nie pojdzie i z tym musisz sie liczyc. Bez srodowiska (Visual) owszem, pojdzie.

0
watrix napisał(a)

Postanowiłem utworzyć instalkę, która wraz z programem instaluję środowisko,

Chodziło mi oczywiście o .net framework 3.5 runtime.

To ja już nie wiem co mam zrobić:/ Tłumaczyłem gościowi (a chyba za bardzo nie zna się na programowaniu), że to jakby uruchamiać coś napisanego w javie, bez wirtualnej maszyny javy. Ale skwitował to tylko tym że musi się dać - próbuj.

@Edit:
btw. a framework nie powinien się sam instalować podczas aktualizacji systemu?

0

Zalezy jaki system, ale i tak nie sadze. Na XP sie nie instaluje, bo to nie integralna czesc systemu. Wytlumacz gosciowi, ze frameworka instaluje raz i wiecej nie musi. Wiec to nie jest tak, ze ZAWSZE instaluje sie te 50+1 MB, ale tylko wtedy, gdy go nie ma.

Trudno, taka technologia i tak to w niej dziala.

0

Szkoda, że razem z exe'kiem nie można dostarczać tylko tej części framework'a która jest potrzebna danej aplikacji.
Można by to zrobić na 3 sposoby:

  1. Wszystko doklejone do exe, wewnętrzny system wszystko pakuje do pamięci podczas każdorazowego uruchomienia exe. Na takie rozwiązanie jednak raczej nie ma co liczyć.
  2. Kreator do tworzenia instalki frameworka z wybranymi dll'kami. Razem z exe dostarczamy instalkę frameworka okrojonego do naszych potrzeb.
  3. Może stworzą instalkę frameworka totalnie okrojonego - sama maszyna wirtualna i mscorlib. Pozostałe dll'ki dostarczamy w miarę potrzeb.

Ciekawe, czy jest to w ogóle brane pod uwagę przez Microsoft.

0

@adf88: Podejrzewam, ze za duzo zaleznosci. Dolaczenie jednej zaawansowanej biblioteki (np. Graphics) laczylo by sie pewnie z doinstalowaniem min. 50% frameworka, itp.

0

adf88: W .net 3.5 SP1 da sie ;) No moze nie do konca tak jakbys chcial.
W konfiguracji aplikacji doszlo takie cos jak Client-only Framework subset. Zaznaczajac to do instalki nie dodawany jest caly framework (bo po co np klasy od asp.net przy win formie?) tylko ograniczony subset.

watrix: sproboj tego rozwiazania i instalka bedzie nieco mniejsza. Niestety framework, nawet ten ograniczony musi byc. Musisz wytlumaczyc kolesiowi, ze to jego problem ze ma win xp, jakby mial viste by dostal 1mb i tyle. Inaczej to nie zadziala. Framework instalowany jest raz dla wszystkich jego aplikacji.

0

@wasiu
Dzięki! Visuala Studio Express z SP1 mam już ściągniętego ale czekałem z instalacją do oddania tego projektu. Teraz widzę że będzie okazja żeby go przetestować;)

0

@watrix: nie Visual sp1 a framework sp1, to dwie rozne rzeczy. Mylisz srodowisko programistycznie (ide) ze srodowiskiem uruchomieniowym (runtime environment).

0
TomaszSmykowski napisał(a)

Po pierwsze klientowi nie dajesz samego EXE ale instalkę. Instalka ta może miec w sobie frameworka, którego zainstaluje, jezeli u klienta go jeszcze nie ma. Moze tez sciagnac frameworka w tej sytuacji z Internetu.

Tak zrobiłem ale perspektywa ściągania z netu 50MB, gościowi się nie spodobała;]

johny_bravo napisał(a)

@watrix: nie Visual sp1 a framework sp1, to dwie rozne rzeczy. Mylisz srodowisko programistycznie (ide) ze srodowiskiem uruchomieniowym (runtime environment).

Dostrzegam różnicę, ale z tego co piszą koledzy powyżej że ta opcja jest dostępna dopiero w VS SP1.

No nic biorę się do roboty i dziękuję za pomoc!

0

Ten redist ma ważyć ok. 26MB i póki co można go jedynie pobrać poprzez instalator. Wersja standalone pojawi się wkrótce.

0

26MB to pikus. Ja wlasnie sciagam calego .NET 3.5 z SP1 i musze go zainstalowac u klienta. Mam nadzieje, ze uda mi sie zrobic to jakos po cichu, bo jak zobaczylem, ze to zajmuje 231,5MB to mi szczeka opadla :/

0

Nie mogę znaleźć opcji dołączania potrzebnych plików do instalki offline, muszę też dołączyć MySQL connector-a. Jest w ogóle opcja dołączania plików kiedy używa się Publish, bo ciężko mi to znaleźć?
Trochę też czytałem o takim komponencie jak Installer Class, czym to się różni od zwykłego Publis-a ?

0

W Visual C# 2008 masz mozliwosc wybrania wersji frameworka na ktorej ma dzialac program. Jezeli nie uzywasz frameworka 3.5 to zmien sobie wersje na 2.0 - ta wersje posiada niemal kazdy komputer.

0

tak swoja droga, ciekawe czy daloby sie exeka z'ILMErge'owac z wybranym fragmentem .net'a :}

0

A co to da, jeżeli do uruchomienia takiego programu i tak będzie potrzebny CLI.

0

"wiesz, shrek, taki żart" :))))
mialem po prostu niedawno pod reka takiego jednego dewelopera, ktory uparcie wszystko ilmergeowal byle by tylko nie musiec "bawic sie" z dorabianiem instalatora ktory doinstaluje w razie potrzeby okoliczne uzywane 3rdpartyowe biblioteczki..

0

W VS 2008 Ustawiasz ze program ma dzialac na FW 3.5, programujesz - piszesz kod.
Zmieniasz w ustawianiach ze program ma dzialac teraz na FW 2.0
VS pokazuje blad referencji i DLL, wiec zaznaczasz ze DLL i w ich ustawianiach zmieniasz ze nie maja miec kontroli wersji oraz maja byc kopiowane przy kompilacji, Teraz masz aplikacje dzialajaca na FW2.0 napisana w FW3.5.

Zazwyczaj FW2.0 jest juz na komputerach

0

Rozszerzając już temat, mam pytanie, czy istnieje możliwość rozszerzenia frameworka z 2.0 do nowszej wersji bez pełnej instalacji runtimeu? Od jakiegoś czasu piszę do szkoły program na kompa z windows 2000, a tam można .NET 2.0 i nic więcej zainstalować.

Czy jestem w tym przypadku skazany na NET 2.0, czy da się jakoś wcisnąć tam coś nowszego. <ort>Od razu </ort>mówię, że zmiana systemu nie wchodzi w grę.

0

bez pełnej instalacji runtimeu?
Czyli ?

Nie bardzo rozumiem w czym problem. Instalujesz 3.5 i masz obydwa. Przecież 2.0 ci się nie zdubluje.
O co ci biega ? Mam wrażenie, że pytasz "jak zainstalować ale żeby nie instalować". Jeśli o to ci chodzi - nie da się bez instalacji, nie wystarczy powrzucać pliki.

a tam można .NET 2.0 i nic więcej zainstalować
Mówisz o Windowsie 2000 czy o szkole ? Jak o Windowsie - to oczywiście się mylisz, możesz spokojnie zainstalować .NET 3.5. Jak o szkole - skoro jest zabronione i nie można instalować, to nie można.

0

Ale na stronie microsoftu
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=333325fd-ae52-4e35-b531-508d977d32a6
jest napisane

Supported Operating Systems: Windows Server 2003; Windows Server 2008; Windows Vista; Windows XP

Nie ma windows 2000, jesteś pewien, że zadziała? Jeśli tak, to muszę spróbować, a jeśli chodzi o szkołę, to nie ma problemu.

0

Mój błąd [wstyd] Myślałem, że o 2003 chodzi.
No to niestety, ale nie poradzisz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1