• 0

Deploy .NET w/o the Framework


Question

Just thought I would post this, as the app/methods employed are pretty interesting for .NET devs. The samples on the page are interesting, as well.

Salamander .NET Linker and Mini-Deployment Tool

Salamander .NET Linker and mini-deployment tool allows you to link .NET assemblies together into a single file, and to deploy your application without installation of the whole Microsoft .NET Framework. The linker selectively links MSIL code putting together only the required classes and methods, and it is capable of linking into the Microsoft .NET framework class libraries. The mini-deployment tool then builds a minimum set of the Microsoft .NET runtime to ship with your application. This usually results in installation size of a few mega bytes, rather than tens of mega bytes, and the installation takes much less time without rebooting machines. The mini-deployed application can be launched directly from a CD, absolutely without copying files or adding registry entries.
The mini-deployment tool puts together the minimum set of CLR runtime files and dependent assemblies that can be simply copied to a single folder on a target machine, and your application runs as if the whole framework is installed. Since the installation is isolated into a single folder, there will be no conflicts with future .NET installation. When linking is used for the dependent assemblies, it will further reduce the file size.
Link to comment
https://www.neowin.net/forum/topic/210209-deploy-net-wo-the-framework/
Share on other sites

Recommended Posts

  • 0

Having read Joel's article, I'd say Joel doesn't much about .NET. The great thing about MS is that you won't have to abandon Win32 or Winforms when Longhorn arrives. They aren't changing their mantra of backward compatibility. You won't have to update any of your .NET apps because you can run them side-by-side. All the old APIs will still be there from everything I've read.

MS isn't stupid. I think Joel's just ****ed off because he's one of the VB-Classic developers that feel left behind. ;)

And regardless of what he says, there will always be a need for rich client apps. The net is not the second coming. And just because he's not embracing .NET doesn't mean others aren't. There are quite a few folks that see the benefit of .NET.

  • 0

You're all wrong! C and the GTK+ API system 0wnz j00! :rofl: :p j/k

But, .NET isn't bad. I prefer C and the GTK+ API system, so I know they can be ported to other operating systems easily.

But if you use just code for Windows, the .NET framework is fine. I see no need to argue over it. And the .NET program without the framework is just dumb.

:wacko:

  • 0
None of your points are any more relevant than they were:

Different somehow than when MS releases upgrades and service packs for operating systems?? Much software is only compatible with specific minimum service packs.

...

(full post 6 posts back)

Awesome post...

Thanks for saving me the trouble of having to type a response to him... Hopefully he gets a better understanding og .NET and compter software in general.

  • 0

I find a lot of people have a problem about upgrading, for example, my boss hate's ms, so he wont spend money to upgrade from the old systems, so we are still stuck on win98 with office 97, the annoying fact is the problems we are having could be solved by upgrading to newer releases.

With the .net framework, people don't want to upgrade because they say it will break apps, or crash their system, it wont break apps because of SxS, and it wont crash their system, because it doesn't install system level components (i don't know what the person who said it installed device drivers was on about), the reason .net apps load isn't because the system loads the program through some .net stuff the framework installed, it's because when you compile a .net app, it adds a small stub to the beginning that loads the .net framework in-process.

Their is no problem with installing the .net framework, if you have a thing about upgrading, your the one stuck with the security holes and stuff, the people who upgrade their systems wont have problems, don't go complaining about having to upgrade every so often, it's not to cause you misery, it's to fix problems and security flaws you have been having.

Ok, im done.

  • 0
It's certainly possible that there's a security flaw in the runtime that could allow an elevated privilege attack. But as I said, hackers hardly need .NET to pull something like that off now. I don't really see how putting .NET on your computer makes it any less secure than it already is with the current crop of ActiveX/scripting flaws that are in IE.

It's obvious that having less installed is safer than having more installed. Having ActiveX is bad enough but having .NET installed just creates more weak chains to be exploited. The .NET Runtime is probably written in C for performance and is likely to have vulnerabilities that are yet to be discovered.

Well, by your logic, you shouldn't install a web browser or an email client or an IM client or any other application that connects to the Internet on your computer. Ever. All of those things contain "code that can get exploited." Even "the most secure browser," Mozilla, has security flaws. Since you are visiting this site in a web browser, you're obviously willing to make your computer less secure by installing those kinds of apps, so it seems to me that you're just FUDing here.

It is logical not to install applications that you don't use. If you're going to use a browser or email client then you will have to install it to use it. But if you're not going to use any .NET applications then you shouldn't install the framework. Installing it for no reason just makes unnecessary entry points for hackers to exploit. I don't see how Aldo was trying to spread FUD.

For all those about to scream .NET wont ever be highly welcomed in the Open Source world. MS made .NET a standard prior to releasing .NET 1.0 as well as the fact Novell has invested tons into .NET on Linux and other platforms. They plan on rewriting Gnome to be 100% .NET code in a few years...

We'll see how interoperability goes in the future. Microsoft didn't submit the .NET libraries to the standards' bodies and so there may be a schism if the Open Source supports Open Source libraries and MS supports .NET libraries. We'll also see how MS juggles their patents and whether they'll put pressure on the Open Source community in the future.

  • 0
It's obvious that having less installed is safer than having more installed. Having ActiveX is bad enough but having .NET installed just creates more weak chains to be exploited. The .NET Runtime is probably written in C for performance and is likely to have vulnerabilities that are yet to be discovered.
Quite possible. But so far it hasn't happened. And so what if it did? My point is that there are plenty of apps that people use ALL THE TIME that have security holes that are far worse than any in the CLR could be (visit an infected web page in an unpatched version of IE... just VISIT A PAGE and your system can be compromised).
I don't see how Aldo was trying to spread FUD.

Because he's crying "the sky is falling" about security holes that are entirely THEORETICAL. The Framework may have security flaws in it. But then it's entirely possible that a vulnerability will NEVER be found in it. It's been almost three years so far an not a single flaw has been made public (that I am aware of). Meanwhile, he's using a browser that has KNOWN security flaws to post his comments about the Framework's shoddy security! I certainly see FUD there; why don't you?

Edited by dannysmurf
  • 0
The .NET Runtime is probably written in C for performance and is likely to have vulnerabilities that are yet to be discovered.

The entire .NET framework is written in c#, the only unmanaged stuff is the c# compiler (and mabye others) the jit compiler, shfusion.dll (mabye) and the unmanaged stub in every .net app that loads the .net framework.

  • 0
The entire .NET framework is written in c#, the only unmanaged stuff is the c# compiler (and mabye others) the jit compiler, shfusion.dll (mabye) and the unmanaged stub in every .net app that loads the .net framework.

He's right, and you can prove it yourself. Run ildasm on any of the .NET class libraries (System.Collections.dll, System.Windows.Forms.dll, Microsoft.VisualBasic.dll, etc) - they're .NET binaries.

By it's nature, the JIT must be coded for the platform it's running on, be that x86 or IA64 or whatever.

The C# and VB compilers themselves could even be coded in .NET if Microsoft would do so, there's nothing preventing that.

  • 0
The C# and VB compilers themselves could even be coded in .NET if Microsoft would do so, there's nothing preventing that.

Yeah, the only reason the c# compiler is managed was because there was no .NET framework to compile against when they were originally writing it, but they can now since it's at a 1.1. stage (or 2.0, they could even have done it with 1.0)

(That comment was a general comment, it wasn't targeted at gameguy, he knows his stuff)

  • 0

The .NET 1.0 C# compiler was already managed code, and it wasn't hard to do either. Once you've got a C# compiler prototype (which is reasonable considering the really long development and beta time of .NET 1.0), you can rewrite a non-prototype one in the language and compile it with the prototyped one.

Even the Mono C# compiler was compiled by itself once the prototype became stable.

  • 0

The csc.exe is 50k in my .NET 1.0 folder. As soon I start it, it loads the CLR. Then again, after checking it, the cscomp.dll is native. Strange. I have to check the 1.1 and 2.0 frameworks.

--edit: Indeed unmanaged. I wonder how that'll change with the Phoenix framework.

  • 0

It probably loads the CLR to get metadata from assemblies, i don't know how to do it in unmanaged code (I'm guessing it's hard), but with reflection in .net it's easy.

Also, what is the Phoenix framework?

Edit: Does the 2.0 framework have many bugs?, dont worry, found out you can uninstall it and where to get it from.

Edited by The_Decryptor
  • 0

Phoenix framework:

http://research.microsoft.com/phoenix/

I've been using Framework 2.0 for quite a while now (and I've moved all of my projects that I don't expect to be done until mid-2005 over to FW 2.0 and VS 2005). I've yet to find a bug that actually has its cause in .NET.

  • 0

em_te...

It's obvious that having less installed is safer than having more installed. Having ActiveX is bad enough but having .NET installed just creates more weak chains to be exploited. The .NET Runtime is probably written in C for performance and is likely to have vulnerabilities that are yet to be discovered.
You should read up on what i have said previously on .NET security in this thread. What you are saying makes very little sense...
It is logical not to install applications that you don't use. If you're going to use a browser or email client then you will have to install it to use it. But if you're not going to use any .NET applications then you shouldn't install the framework. Installing it for no reason just makes unnecessary entry points for hackers to exploit. I don't see how Aldo was trying to spread FUD.

It is agreed that you shouldnt install things you dont need, but with the increase in applications written on the .NET framework having it installed can make it easier on users. Again installing the .NET framework isnt more of a "Security hole" than installing the OS itself (which .NET is far more safe than). Read up on what i have said or on .NET security in general before you run off at the mouth with lies.

We'll see how interoperability goes in the future. Microsoft didn't submit the .NET libraries to the standards' bodies and so there may be a schism if the Open Source supports Open Source libraries and MS supports .NET libraries. We'll also see how MS juggles their patents and whether they'll put pressure on the Open Source community in the future.

Huh? Again you show your extreme lack of knowledge in .NET...

MS released .NET as a standard as i already said (if you are technical enough you can read both standards documents here (C# Spec.) and here (CLI Spec.)). Those standards are what Mono is built upon. That is the reason Mono based apps CAN run on the MS .NET Framework and vice versa (provided Mono supports the librarys being loaded as Mono isnt complete yet). Your argument is very largly unfounded and i recommend you learn what .NET is before you spill lies as i said above.

Maybe one day we will get true techs speaking on tech related topics. I'm getting very very sick of these self proclaimed techies that know nothing of what they choose to speak on. Heres a nice hint of advice...

If you dont know what your talking about, don't talk about it!

  • 0

Frazzel: sadly you are forgetting that Microsoft doesn't have to submit future versions of the .NET spec to standards bodies. They can cripple the Mono project if they want (and I'm sure they will if it takes off and provides MS with a huge headache).

I think it is obvious that MS is getting pretty desperate to convert programmers over to .NET.

As for your 'true tech' comment (which is plain stupid), how about Joel Sposky? Is he not 'true tech' enough? Read his articles (http://www.joelonsoftware.com/articles/APIWar.html) and tell me if you still agree with yourself.

  • 0
Frazzel: sadly you are forgetting that Microsoft doesn't have to submit future versions of the .NET spec to standards bodies. They can cripple the Mono project if they want (and I'm sure they will if it takes off and provides MS with a huge headache).

I think it is obvious that MS is getting pretty desperate to convert programmers over to .NET.

As for your 'true tech' comment (which is plain stupid), how about Joel Sposky? Is he not 'true tech' enough? Read his articles (http://www.joelonsoftware.com/articles/APIWar.html) and tell me if you still agree with yourself.

Mono is playing catchup to future versions of .NET true, but they only have to implement features. .NET itself is standard enough for them to only copy MS made features which isnt that hard as they dont have to "Reverse Engineer". MS also wouldnt gain any benifit of killing Mono the more developers on .NET the better, whether they are developing for windows or not. You have to remember .NET was created to beat Sun Java it cant do that being Windows only. MS dosent want to code for alternative OS's themselves which is why they made .NET a standard its up to the community to take it to other platforms.

MS is desperate to convert developers to .NET because they want to get the Win32 API as far behind them as they can its ages old and becoming a mess to maintain. In the Win32 API for them to keep applications running they have to support features they did in 2000 for instance in the XP version. WIth .NET they can easily just have the .NET flavor from 2000 installed and then flavor for XP and apps only using the relavant one that makes maintaining the API easier and less buggy (the references to 2000 and XP were comparisons of 1.0 to 1.1 though they both run on both OS's, it was more of a hypothetical comparison)

I read that article and Joe dosent have a very solid understanding of what .NET is and how it works...

My comment on "true techs" was simple, a "true tech" is someone who knows about the subject hes speaking on. If you dont know about .NET dont talk about it like you are an expert in it. That dosent mean they arent a awesom tech in administering Windows for instance. I'm just saying im tired of people talking about what it is they dont know about and then passing it off as if they know everything.

  • 0
If you dont know what your talking about, don't talk about it!

For some reason using that always provokes offense.

See here for another example of why you should never take anything here at face value. And after reading that, guess what card I'm using in my system

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • BleachBit 6.0.1 Beta by Razvan Serea When your computer is getting full, BleachBit quickly frees disk space. When your information is only your business, BleachBit guards your privacy. With BleachBit you can free cache, delete cookies, clear Internet history, shred temporary files, delete logs, and discard junk you didn't know was there. Designed for Linux and Windows systems, it wipes clean thousands of applications including Firefox, Microsoft Edge, Google Chrome, Opera, Safari, and more. Beyond simply deleting files, BleachBit includes advanced features such as shredding files to prevent recovery, wiping free disk space to hide traces of files deleted by other applications, and vacuuming Firefox to make it faster. Better than free, BleachBit is open source. BleachBit has many useful features: Delete your private files so completely that "even God can't read them" according to South Carolina Representative Trey Gowdy. Simple operation: read the descriptions, check the boxes you want, click preview, and click delete. Multi-platform: Linux and Windows Free of charge and no money trail Free to share, learn, and modify (open source) No adware, spyware, malware, browser toolbars, or "value-added software" Translated to 64 languages besides American English Shred files to hide their contents and prevent data recovery Shred any file (such as a spreadsheet on your desktop) Overwrite free disk space to hide previously deleted files Portable app for Windows: run without installation Command line interface for scripting and automation CleanerML allows anyone to write a new cleaner using XML Automatically import and update winapp2.ini cleaner files (a separate download) giving Windows users access to 2500+ additional cleaners Frequent software updates with new features Going beyond standard deletion of files, BleachBit has several advanced cleaners: Clear the memory and swap on Linux Delete broken shortcuts on Linux Delete the Firefox URL history without deleting the whole file—with optional shredding Delete Linux localizations: delete languages you don't use. More powerful than localepurge and available on more Linux distributions. Clean APT for Debian, Ubuntu, Kubuntu, Xubuntu, and Linux Mint Find widely-scattered junk such as Thumbs.db and .DS_Store files. Execute yum clean for CentOS, Fedora, and Red Hat to remove cached package data Delete Windows registry keys—often where MRU (most recently used) lists are stored Delete the OpenOffice.org recent documents list without deleting the whole Common.xcu file Overwrite free disk space to hide previously files Vacuum Firefox, Google Chrome, Liferea, Thunderbird, and Yum databases: shrink files without removing data to save space and improve speed Surgically remove private information from .ini and JSON configuration files and SQLite3 databases without deleting the whole file Overwrite data in SQLite3 before deleting it to prevent recovery (optional) BleachBit 6.0.1 Beta release notes: BleachBit 6.0.1 beta is now available for testing. This maintenance-focused release includes bug fixes, updated translations, and a range of safe enhancements. This release fixes a Windows security issue that could allow arbitrary file deletion during privileged cleaning (reported by Zeze with TeamT5). It also adds new cleaners (including a DNS cache cleaner, Claude Code, and Visual Studio Code forks), support for multiple Chrome and Edge profiles, new deep scan options for developer directories like node_modules and venv, and safer, faster file shredding. All Platforms Added cleaners for Claude Code, DNS cache, and many Visual Studio Code forks. Added support for multiple Chrome and Edge profiles. Chrome can now clean downloaded AI models. Deep Scan can optionally remove venv, __pycache__, node_modules, and .angular directories. Deep Scan is faster by skipping directories on the keep list. File shredding is safer, faster, and leaves fewer recoverable traces. Improved handling of cookies, symlinks, Unicode filenames, external processes, and configuration files. Improved Expert Mode warnings and long warning dialogs. Fixed crashes related to cleaner detection, invalid Unicode, and malformed cleaner data. Clipboard is now cleared automatically after shredding files via paste operations. Linux Added AppImage support. Added cleaners for Visual Studio Code, Codeium, Librewolf (.deb), Transmission (Flatpak), and Profanity. Improved Linux trash detection, including Snap-installed applications and mounted drives. Fixed Wayland root CLI issues and several Snap-related problems. Improved package dependencies, AppStream metadata, and desktop file handling. Fixed startup crashes when Python Requests is unavailable. Windows Fixed a security vulnerability that could allow arbitrary file deletion when cleaning with elevated privileges. Added %WindowsSystem% variable support. Improved clipboard clearing using native Windows APIs. Improved installer experience on unsupported Windows versions. Reduced installer size and improved application robustness. Fixed Unicode handling, filename anonymization, Git revision reporting, and splash screen stability. [full release notes] Download: BleachBit 6.0 | Portable | ~20.0 MB (Open Source) View: BleachBit Home page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • DriversCloud 12.1.6 by Razvan Serea With DriversCloud (formerly My-Config.com), you can explore your computer easily, safely and free. The application quickly scans your PC and identifies the hardware and software components. DriversCloud then establishes a list of the different drivers compatible with your OS and hardware. Download the drivers needed for the proper functioning of your computer. To detect your drivers, DriversCloud also displays a detailed summary of your hardware and software configuration, analyzes your BSOD, monitors in real-time your PC voltages and temperatures and lets you share your configuration online. Once the hardware components have been detected, you will be able to obtain with just a few clicks the latest drivers corresponding to the identified hardware. You can record your configuration on the site for free, and can get the corresponding URL to post the configuration to technical forums, e-mail and social networks. You can also download the detection result (the configuration) as a PDF file. To protect the user's privacy and data confidentiality, a 4-level confidentiality system was created that filters the XML marks and gives control to the user. The default level can be modified in the preferences. Using the maximum level will prevent the user from publishing his configuration and generating a corresponding PDF file. In non-connected mode, each XML configuration is stored on the server for one day (for practical reasons). However, you are given the opportunity to manually delete it. Created in 2004, and continually improved, My-Config.com has established itself on the web as a free service to PC users running Windows and Linux operating systems. The service is designed to work with the most common Internet browsers (Edge, Firefox, Chrome, Safari). Download: DriversCloud 64-bit | 20.0 MB (Freeware) Download: DriversCloud 32-bit | 18.9 MB Link: DriversCloud Home Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • One Month Later
      AndreaB earned a badge
      One Month Later
    • One Month Later
      agatameier earned a badge
      One Month Later
    • Week One Done
      agatameier earned a badge
      Week One Done
    • Week One Done
      ssd21345 earned a badge
      Week One Done
    • Contributor
      MarkHughes4096 went up a rank
      Contributor
  • Popular Contributors

    1. 1
      +primortal
      516
    2. 2
      +Edouard
      193
    3. 3
      PsYcHoKiLLa
      147
    4. 4
      ATLien_0
      96
    5. 5
      Steven P.
      77
  • Tell a friend

    Love Neowin? Tell a friend!