Archived

This topic is now archived and is closed to further replies.

graveyard filla

avoiding the .NET framework?

Recommended Posts

high, im using visual studio .net 2k3. anyway, my game is almost done, and im just wondering, do i HAVE to distribute the .net framework with it? (or at least provide a link to download it) is there anyway around this? i mean, this is rediculous if i have to distrubute a 30 meg file with my game which is only 3 megs by itself.theres no way im going to do that, so do i really have to open all my files in the crappily old VC 6 and compile? also, does anyone think this might be dangerous? as in, some things that work with the .net compiler might be different with the VC 6 compiler? thanks for any help or suggestions!

Share this post


Link to post
Share on other sites
Does your program use the .NET framework?


"Sneftel is correct, if rather vulgar." --Flarelocke

Share this post


Link to post
Share on other sites
If you are not using any of the .NET framework then no, you do not need .NET. Make sure that the managed flag is not set with the compiler. The resulting executable should be in native machine code.

Share this post


Link to post
Share on other sites
Visual Studio .NET 2003 is just an IDE that supports .NET framework but you don''t necessarily have to compile your game as a .NET application.

Share this post


Link to post
Share on other sites
Hopefully, at some point everyone will have a copy of the .NET framework installed already. Probably when Longhorn is released.

Share this post


Link to post
Share on other sites
Even if your program does require the framework, I wouldn''t redist the framework with it unless you are actually shipping CDs. If it''s up for download, just provide a link to the MS download site.

Look at the way it''s done for the SharpReader RSS Aggregator.

--
AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.
[Project site] [Blog] [RSS] [Browse the source] [IRC channel]

Share this post


Link to post
Share on other sites
If you''re just using sdl and c++ libs you''re fine - only if you use the .net namespaces and libraries (like System.Drawing, or System.Threading etc etc) you''d need to worry.

I wouldnt recommend the using .net to make games - if you use sdl and c++ your games will be more easily ported to other platforms.

Share this post


Link to post
Share on other sites
quote:
Original post by nmoog
I wouldnt recommend the using .net to make games - if you use sdl and c++ your games will be more easily ported to other platforms.



A large number of projects are dedicated to developing a cross platform implementation of the .NET framework. Mono and .GNU come to mind. A cross platform and mature .NET implementation should be coming reasonably soon.

Share this post


Link to post
Share on other sites
quote:
Original post by graveyard filla
ok, no im not using any of that stuff. i dont even know what it is. so the .NET framework is a bunch of libraries you can use?


.NET is a quite a bit more than a bunch of libraries especially when considering that .NET will completely dominate Windows programming when Longhorn becomes the standard. In any case, accurately describing .NET in a couple of sentences is impossible. Check out this description from Microsoft.

Share this post


Link to post
Share on other sites
Without wanting to start a flameware here (I like .net - but not for game dev), you dont want to use the .net framework if you want people to play your games before Longhorn is released 2005, 2006, 2007... and nobody will download the .net framework just to play your game! If you just want us nerds here to play it you''ll be fine (we''ll install anything!)

It doesn''t sound like you''ve used it anyway - just try and run the exe on someones ''puter who doesnt have it. If it runs, youre set!

Share this post


Link to post
Share on other sites
i tried running it on another persons comp, but got an error about a missing DLL, something that started with MSCV or something... anyway i thought it was the framework, but downloaded that didnt help. i googled and found out that i was running in debug .exe mode, and i needed to set to release. why is .net like this? VC6 let me do it fine

[edited by - graveyard filla on April 3, 2004 11:38:52 PM]

Share this post


Link to post
Share on other sites
VC6 wouldn''t let you do that either.

When you install any Visual Studio, you get a whole bunch of debug dlls in your Windows system directory. Apparently people without Studio (about all others) don''t have debug dlls (unless some stupid idiot installs them for them). That''s the reason why you should only hand out release versions.

Share this post


Link to post
Share on other sites
why don''t you just use dependency viewer on your exe?
It''s tell you exactly what dll''s it''s using and if you see mscore.dll then it''s using .net stuff.


If God played dice, He''d win.
—Ian Stewart, Does God Play Dice? The Mathematics of Chaos

Share this post


Link to post
Share on other sites
quote:
Original post by graveyard filla
i tried running it on another persons comp, but got an error about a missing DLL, something that started with MSCV or something... anyway i thought it was the framework, but downloaded that didnt help. i googled and found out that i was running in debug .exe mode, and i needed to set to release. why is .net like this? VC6 let me do it fine

[edited by - graveyard filla on April 3, 2004 11:38:52 PM]


Dont forget that MS provides redistributable modules with your compiler.

I point you here, youngfellow!!

Share this post


Link to post
Share on other sites
As far as I understand, and I am only using VS.NET original, with now the 1.1Framework, it is mananged code vs. unmanaged code.
Unmanaged code is what you want. Microsoft wants mananged code, for cross-platform development. I often wondered myself, what is really going on. Oh, and of course, Microsoft, wants C# used, and not C++ or C anymore. I wish I could upgrade to VS.NET 2003, so I have forms for C++, but only being a beginner, I guess I have to struggle with the text for creating the resource files for those, yet.

Remember, Microsoft wants to tell you how to program, so they can make more money, so everyone uses their software, I guess.

C++ is different than C, and I need more reading to really know what is going on. But then, C# is the programming language Microsoft is pushing, I am guessing.

Unmanaged code, is like regular programming from before.
And of course, MFC should be used, but that is another subject, and not really needed for games, and should not be used, although....... someday........

Share this post


Link to post
Share on other sites
quote:
Original post by nmoog
Without wanting to start a flameware here (I like .net - but not for game dev), you dont want to use the .net framework if you want people to play your games before Longhorn is released 2005, 2006, 2007... and nobody will download the .net framework just to play your game! If you just want us nerds here to play it you''ll be fine (we''ll install anything!)
Flamebait.

quote:
Original post by Deets
Oh, and of course, Microsoft, wants C# used, and not C++ or C anymore.
Then why do they provide a free C++ compiler with the .NET Framework SDK? (C++ is an ugly language, anyway.)

quote:
Remember, Microsoft wants to tell you how to program, so they can make more money, so everyone uses their software, I guess.
Flamebait.

quote:
C++ is different than C, and I need more reading to really know what is going on. But then, C# is the programming language Microsoft is pushing, I am guessing.
Off-topic flamebait.

quote:
Unmanaged code, is like regular programming from before.
And of course, MFC should be used, but that is another subject, and not really needed for games, and should not be used, although....... someday........
Off-topic, pointless, wrong. Oh, yeah, and flamebait.

Share this post


Link to post
Share on other sites
hey psamty10 , thanks for that link. ok, so now i know i have to put the MSVCR and MSVCRT.dll (whatever their called, the non debug ones) files with my game. one question i couldnt find the answer to, is where the hell do i get those .dll files? thanks for an answer!

[edited by - graveyard filla on April 4, 2004 3:17:40 PM]

Share this post


Link to post
Share on other sites
quote:
Original post by psamty10
quote:
Original post by Oluseyi
C++ is an ugly language, anyway



And that isnt flamebait?


Yes, but he is right.

Share this post


Link to post
Share on other sites
When you install your compiler, it should ask you whether you want to install the module files (.msm's).
It should be under:
{Visual Studio Home Directory}\Common7\Tools\Deployment
and the redist is at
{Visual Studio HomeDir}\Common7\Tools\Deployment\MsiRedist

The .NET framework can be found here

EDIT: Spelling

[edited by - psamty10 on April 4, 2004 3:25:45 PM]

Share this post


Link to post
Share on other sites
quote:
Original post by Arild Fines
quote:
Original post by psamty10
quote:
Original post by Oluseyi
C++ is an ugly language, anyway



And that isnt flamebait?


Yes, but he is right.


[Flamebait] Care to make a case of it....? [/Flamebait]

Share this post


Link to post
Share on other sites
ok, well my other post ive just talked about this problem, but since you are all gunna argue here, maybe you could help me while your doing it . like i said earlier in this thread, when i tried switching to release mode, i got linking errors. anyway, i switched my "code generation" from Multi-Threaded DLL to Multi-Threaded Debug DLL and this worked! but why, why why would i have to switch to multi-threaded DEBUG dll if im compiling in RELEASE mode? it doesnt make sence! i read that MSDN page you showed me, and it has a table and part of it says this:

MSVCPRTD.LIB Multithreaded, dynamic link (import library for MSVCP71D.DLL) /MDd _DEBUG, _MT, _DLL


as you can see, it says that if i compile a in Multi-thread Debug DLL, it uses MSVCP71D.DLL. so WTF? i have to include this one instead of the non-debug versions? why why why if im compiling in release mode (AND ITS WORKING)??? also, isnt it illegal to include those debug dll''s? im so confused.. thanks anyone who can help me

Share this post


Link to post
Share on other sites
quote:
Original post by psamty10
[Flamebait] Care to make a case of it....? [/Flamebait]

Here''s a one liner to support it: Bjarne Stroustrup has said "Within C++, there is a much smaller and cleaner language struggling to get out." (p 207 "Design and Evolution of C++").

You should also see his comments about the process of creating a parser for C++ sometime.

Share this post


Link to post
Share on other sites