Odpalanie aplikacji na innym komputerze

0

Witam,
czy wie ktoś jak (a da się bo tak powiedział pan profesor) zrobić exe-ka z załączonymi ddl-kami?
Otóż napisałem programik konsolowy w Microsoft Visual C# 2010 Express. Wiem że C# wykorzystuje net frameworka bo tam ma wszystkie biblioteki. Ale mój program ma działać na każdym systemie beż instalowania czegokolwiek na komputerze. Ma to być jeden plik nazwa.exe i ma on się odpalić na golusieńkim systemie MS-Dos (zapewne na xp-ku będzie to testował albo jeszcze starszym). Szukałem troche o tym w necie ale na nic ciekawego nie natknąłem się.

2

http://stackoverflow.com/questions/551554/can-you-compile-c-sharp-so-it-doesnt-need-the-net-framework-at-runtime

napisałem programik konsolowy
Ma to być jeden plik nazwa.exe i ma on się odpalić na golusieńkim systemie MS-Dos
Wiem że C# wykorzystuje net frameworka bo tam ma wszystkie biblioteki

Brzmi troszkę jakbyś dobrał zły młotek do tego kciuka.

0

"programik" ma 800 lini kodu. Pisałem go w c# bo lepiej go znam a niżeli cpp (wiem teraz że to był mój błąd) ale nie chce mi się przerabiać takiego programu bo długo go robiłem a dopiero potem się dowiedziałem o warunkach testowania. Co do linku to słabo znam angielski ale z tego co zrozumiałem to firmy oferują to odpłatnie a tego nie chciałbym. Czy ma ktoś jakiś pomysł?

1

Widać nawet nie popatrzyłeś w link od @spartanPAGE bo jak byk tam stoi .NET Native: https://msdn.microsoft.com/en-us/library/dn584397(v=vs.110).aspx

1
maska140 napisał(a):

ma on się odpalić na golusieńkim systemie MS-Dos
jeśli jest to prawda to jedynie przepisanie tego w c/c++ i to jeszcze takim, który potrafi dla 16bit kompilować

0

jeśli jest to prawda to jedynie przepisanie tego w c/c++ i to jeszcze takim, który potrafi dla 16bit kompilować

Niekoniecznie 16 bitów, bo były i są 32-bitowe kompilatory dla DOS-a.
Na przykład DJGPP albo Open Watcom.

Poza tym

zapewne na xp-ku będzie to testował albo jeszcze starszym

To w końcu XP czy MS-DOS?

0

Mniejsza o to czy na XP będzie to testował czy na ME, skoro chodzi tu o biblioteki frameworka, których system nie będzie posiadał.
Otóż pobrałem sobie visual studio 2015 aby pokombinować z kompilacją do kodu natywnego i mam problem z tym. Mianowicie nie wiem jak zbudować ten projekt/zapisać go/pozmieniać w ustawieniach, aby stworzyło mi exe'ka. Wie ktoś może co mam dokładnie zrobić?

0

build solution

0
Czarny Krawiec napisał(a):

build solution

tworzy aplikajce w kodzie zarządzalnym a nie natywnym czyli trzeba coś wcześniej jeszcze zrobić, tylko co?

0

Ale wiesz, że .NET Native jest tylko dla CoreCLR (aktualnie wersja beta) i UWP (aplikacje Windows 10) - zresztą o tym jest ciągle mowa w linku @DibbyDum, a w tym pierwszym wypadku to działa tak... ograniczenie? Bo jeszcze parę tygodni temu jak oglądałem to użycie System.Console działało, ale już System.IO - nie.

Przejrzyj sobie https://github.com/dotnet/cli (trzeba pobrać, na dole są przykłady użycia) jak się chcesz pobawić kompilowaniem przez CppGen i przez RyuJIT do kodu natywnego. Ale znając życie i tak program stworzony w taki sposób będzie zależny od którejś wersji Visual C++ Redist. Wymaga CoreCLR, a co za tym idzie - nowego typu projektu (z project.json).

Może lepszym rozwiązaniem będzie embeddowanie Mono razem z twoją aplikacją? Przejrzyj informacje o mkbundle od Mono (http://blog.shilbert.com/2012/06/using-mono-to-avoid-depending-on-net-framework/) lub może http://www.mono-project.com/docs/advanced/embedding/.

0

Mniejsza o to czy na XP będzie to testował czy na ME, skoro chodzi tu o biblioteki frameworka, których system nie będzie posiadał.

Trudno jest znaleźć Windowsa, na którym nie byłoby choćby Frameworka 2.0.

To nie są wielkie wymagania.

0

Pogrzebałem trochę w aplikacji, z net frameworkiem i tam znalazłem, że importuje ona dwie biblioteki główne
mscoree.dll, z której importuje
mscorees.dll, z której ta pobiera klucz z rejestru, wskazujący na Install root katalog Instalation net framework.
z którego coś tam jeszcze pobiera, jakbyś to wszystko wyłowił i ewentualnie trochę pomodyfikował dllki to miałbyś portable wersje :)

0

Uznałem, że szybciej będzie napisać od nowa program w cpp, bo za dużo kombinowania bez żadnego skutku już z tym jest. Ale temat myślę, że może być dalej otwarty, może ktoś wymyśli coś działającego i komuś się przyda.

0

ma się uruchamiać w dowolnej wersji systemu MS Windows/MS Dos bez instalowania czegokolwiek(bibliotek, frameworka)

Jest to po prostu niemożliwe, bo 64-bitowy Windows nie uruchomi żadnego programu dla MS-DOS, więc część wspólna zbiorów jest pusta.

Poza tym po kiego ci program dla MS-DOS 1.0 albo Windows 1.0?

0

Ja mam 64-bitowy komputer i normalnie odpalam gry i programy dla MS-DOS, pierwsze słysze że się nie da.

0

taaaa, a świstak siedzi i zawija te sreberka....

0

Komputer odpala, ale system Windows 64-bitowy nie odpala. -

To dziwne, bo mam Windows 64-bitowy i mi odpala.

1

Ciekawe, czy dzieci kiedykolwiek zaczną odróżniać DOS od command prompta z Windowsa NT.

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