Speaking of .NET and install size...
-
How many people distrubute their MFC based application (I know, I know, no one here uses MFC...I do though :) ) without the required MFC runtimes? I know everytime I d/l software from the web I know what programming environment and libs were used to write the program by just looking at the DLLs that it installs...mostly mfc42.dll and vbrun :). But as in the other thread would you distro a .NET application for the public use with the .NET runtimes? I agree with other guy who says if you write an application that you want people to d/l over the internet write the app in straight Win32 API calls. This application will be small and not have to be dynamically linked to anything. Would be nice to hear how you guys distro your apps, do you purposely write small to distro on the web or do you write using MFC and attach, or not attach it? Oh just thought of something else too. If you develop using C# isn't it true that others will be able to decompile your code with tools provided by MS into human readable source, or you know what I mean? Just wondering...this maybe a myth but this is one main reason I have stuck with C++. Code4Food ---- "There is no try; only do or do not" -Yoda
-
How many people distrubute their MFC based application (I know, I know, no one here uses MFC...I do though :) ) without the required MFC runtimes? I know everytime I d/l software from the web I know what programming environment and libs were used to write the program by just looking at the DLLs that it installs...mostly mfc42.dll and vbrun :). But as in the other thread would you distro a .NET application for the public use with the .NET runtimes? I agree with other guy who says if you write an application that you want people to d/l over the internet write the app in straight Win32 API calls. This application will be small and not have to be dynamically linked to anything. Would be nice to hear how you guys distro your apps, do you purposely write small to distro on the web or do you write using MFC and attach, or not attach it? Oh just thought of something else too. If you develop using C# isn't it true that others will be able to decompile your code with tools provided by MS into human readable source, or you know what I mean? Just wondering...this maybe a myth but this is one main reason I have stuck with C++. Code4Food ---- "There is no try; only do or do not" -Yoda
In regards to MFC, I use static library for everything. Regards, Larry Antram Stardust Software "Those who choose to sacrifice freedom in order to gain security shall not have, nor do they deserve, either one" -- Benjamin Franklin
-
In regards to MFC, I use static library for everything. Regards, Larry Antram Stardust Software "Those who choose to sacrifice freedom in order to gain security shall not have, nor do they deserve, either one" -- Benjamin Franklin
-
How many people distrubute their MFC based application (I know, I know, no one here uses MFC...I do though :) ) without the required MFC runtimes? I know everytime I d/l software from the web I know what programming environment and libs were used to write the program by just looking at the DLLs that it installs...mostly mfc42.dll and vbrun :). But as in the other thread would you distro a .NET application for the public use with the .NET runtimes? I agree with other guy who says if you write an application that you want people to d/l over the internet write the app in straight Win32 API calls. This application will be small and not have to be dynamically linked to anything. Would be nice to hear how you guys distro your apps, do you purposely write small to distro on the web or do you write using MFC and attach, or not attach it? Oh just thought of something else too. If you develop using C# isn't it true that others will be able to decompile your code with tools provided by MS into human readable source, or you know what I mean? Just wondering...this maybe a myth but this is one main reason I have stuck with C++. Code4Food ---- "There is no try; only do or do not" -Yoda
With MFC apps, static linking is the only way to go. That way you don't have to worry about your code breaking because the user doesn't have exactly the same MFC42/MSVCRT DLLs that you do. It adds a couple hundred K to the file size, but I'd rather have that than try to troubleshoot problems with users. --Mike-- Just released - RightClick-Encrypt v1.3 - Adds fast & easy file encryption to Explorer My really out-of-date homepage Sonork-100.19012 Acid_Helm
-
How many people distrubute their MFC based application (I know, I know, no one here uses MFC...I do though :) ) without the required MFC runtimes? I know everytime I d/l software from the web I know what programming environment and libs were used to write the program by just looking at the DLLs that it installs...mostly mfc42.dll and vbrun :). But as in the other thread would you distro a .NET application for the public use with the .NET runtimes? I agree with other guy who says if you write an application that you want people to d/l over the internet write the app in straight Win32 API calls. This application will be small and not have to be dynamically linked to anything. Would be nice to hear how you guys distro your apps, do you purposely write small to distro on the web or do you write using MFC and attach, or not attach it? Oh just thought of something else too. If you develop using C# isn't it true that others will be able to decompile your code with tools provided by MS into human readable source, or you know what I mean? Just wondering...this maybe a myth but this is one main reason I have stuck with C++. Code4Food ---- "There is no try; only do or do not" -Yoda
-
How many people distrubute their MFC based application (I know, I know, no one here uses MFC...I do though :) ) without the required MFC runtimes? I know everytime I d/l software from the web I know what programming environment and libs were used to write the program by just looking at the DLLs that it installs...mostly mfc42.dll and vbrun :). But as in the other thread would you distro a .NET application for the public use with the .NET runtimes? I agree with other guy who says if you write an application that you want people to d/l over the internet write the app in straight Win32 API calls. This application will be small and not have to be dynamically linked to anything. Would be nice to hear how you guys distro your apps, do you purposely write small to distro on the web or do you write using MFC and attach, or not attach it? Oh just thought of something else too. If you develop using C# isn't it true that others will be able to decompile your code with tools provided by MS into human readable source, or you know what I mean? Just wondering...this maybe a myth but this is one main reason I have stuck with C++. Code4Food ---- "There is no try; only do or do not" -Yoda
or you could use WTL - there is no accompaning DLL and it has a nice framework - not as feature rich as MFC but then you are also not carying the baggage and if you need something in MFC to use in WTL - still it or port it
Stupidity dies. The end of future offspring. Evolution wins. - A Darwin Awards Haiku
-
How many people distrubute their MFC based application (I know, I know, no one here uses MFC...I do though :) ) without the required MFC runtimes? I know everytime I d/l software from the web I know what programming environment and libs were used to write the program by just looking at the DLLs that it installs...mostly mfc42.dll and vbrun :). But as in the other thread would you distro a .NET application for the public use with the .NET runtimes? I agree with other guy who says if you write an application that you want people to d/l over the internet write the app in straight Win32 API calls. This application will be small and not have to be dynamically linked to anything. Would be nice to hear how you guys distro your apps, do you purposely write small to distro on the web or do you write using MFC and attach, or not attach it? Oh just thought of something else too. If you develop using C# isn't it true that others will be able to decompile your code with tools provided by MS into human readable source, or you know what I mean? Just wondering...this maybe a myth but this is one main reason I have stuck with C++. Code4Food ---- "There is no try; only do or do not" -Yoda
Code4Food wrote: If you develop using C# isn't it true that others will be able to decompile your code with tools provided by MS into human readable source You can get tools which not only produce the IL equivalent of any code, but there's definitely one more which can even generate C# code. I'm not sure if its round-trippable yet (i.e. able to compile the code you generated from an executable etc.) but its probably readable. There are obfuscators that effectively mangle the variable names and code, as well as producing impossible code in an attempt to trip up the decompilers. I've never used one first hand so I can't say how good they are. Its certainly a consideration, but if anybody's determined they can disassemble your C++ code anyway, and examine how it runs through a Debugger. Given enough info about the system calls you make, and any MFC classes etc., it could be possible to reverse engineer anything you produce currently (albeit slightly more complicated :) Incidentally, I think one of the decompilers is called Salamander, or is that the obfuscator? :) Don't remember, but google it and you'll pick up something.
-
With MFC apps, static linking is the only way to go. That way you don't have to worry about your code breaking because the user doesn't have exactly the same MFC42/MSVCRT DLLs that you do. It adds a couple hundred K to the file size, but I'd rather have that than try to troubleshoot problems with users. --Mike-- Just released - RightClick-Encrypt v1.3 - Adds fast & easy file encryption to Explorer My really out-of-date homepage Sonork-100.19012 Acid_Helm
For debugging I use dynamic because I know for sure that the pcs that run it will have requirements but for release I do static. Its easier and really doesn't add that much in the whole scheme of things. -:suss:Matt Newman / Windows XP Activist:suss: -Sonork ID: 100.11179
"You can't seriously believe that you could get away with suing someone over quoting text from a message posted in a public forum, can you?" - John Simmons -
Code4Food wrote: If you develop using C# isn't it true that others will be able to decompile your code with tools provided by MS into human readable source You can get tools which not only produce the IL equivalent of any code, but there's definitely one more which can even generate C# code. I'm not sure if its round-trippable yet (i.e. able to compile the code you generated from an executable etc.) but its probably readable. There are obfuscators that effectively mangle the variable names and code, as well as producing impossible code in an attempt to trip up the decompilers. I've never used one first hand so I can't say how good they are. Its certainly a consideration, but if anybody's determined they can disassemble your C++ code anyway, and examine how it runs through a Debugger. Given enough info about the system calls you make, and any MFC classes etc., it could be possible to reverse engineer anything you produce currently (albeit slightly more complicated :) Incidentally, I think one of the decompilers is called Salamander, or is that the obfuscator? :) Don't remember, but google it and you'll pick up something.
This brings up another point. I'm not so muched worried people will look at the source code thats fine. But can they get the source from a decompiler and the rebuild themselves turning it into their own code which they can distro? If so, couldn't they profit from your work? Since your comments don't go into the IL you can't really say code is copyright...Or am I not making sense? HomeNuke ---- "Nuke'd Your Home, Yet?" Run your own PostNuke based web server from home http://www.homenuke.com
-
This brings up another point. I'm not so muched worried people will look at the source code thats fine. But can they get the source from a decompiler and the rebuild themselves turning it into their own code which they can distro? If so, couldn't they profit from your work? Since your comments don't go into the IL you can't really say code is copyright...Or am I not making sense? HomeNuke ---- "Nuke'd Your Home, Yet?" Run your own PostNuke based web server from home http://www.homenuke.com
I understand your point, but I don't think its quite at the stage where the code can go directly from being decompiled to being re-distributed under a different guise. Intellectual Property ownership is notoriously difficult to prove, I'm not a lawyer, but if you are concerned about your application you ought to seek legal advice. A good piece of general advice is that you keep a copy of any code with your lawyer in case of a future dispute, and that you do not make it public domain, i.e. you keep it to yourself, don't go telling everyone about it. By showing that the only way someone could have produced the code was through a decompiler, and for no purpose other than stealing your work, you could be in a reasonably good position. Although, as I mentioned, its a notoriously difficult thing to prove.