|
.NET doesn't suffer from most of those old problems with DLL versioning.
It is an extra dependency to drag around as part of the install base though so i feel you.
There is certainly a place for simple install bases, and i think it applies to smallish user applications and services.
sometimes i get *really* extreme and make small .net services and the like "self installing"
mysvc /install
mysvc /uninstall
then i don't even have an installer. =P
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
codewitch honey crisis wrote: When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
Yeah, I know what you mean. I'm the only kid on the block to have a PhD and my wife still insiststhat I 'm useless.
I saw an ad the other day for some medication and it said if you experience rapid heartbeat irregular breathing and confusion, consult you doctor right away. I experienced that once, but I married her and the confusion got worse, so the doctor may have been a better choice.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
This may be starting to get into programming, but I'll ask for forgiveness rather than permission:
How do you make an application self installing?
I used to make setup projects in VS2008, but the newer versions of VS don't have that option.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
It depends on the app but what I usually do is just build my own tiny installer that writes the registry or as is usually the case, runs com registration and installs itself as a service using the service API.
The other option is to use a third party tool (is WIX still around?) to build an installer, embed that as a resource, extract it, run it as a silent install - this will give you all of the fluff of an MSI install - including a program entry in "Add/Remove programs" but that isn't that necessary for tiny apps.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Pretty sure you were under a rock or something.
Most modern code is client/server and needs a ton of dependencies, which can't be bundled into a single DLL due to license problems.
With that in mind, .NET begs separation of concerns, so during compilation, regardless of the type of code have, you end up with a gazillion Namespaced DLLs.
It would be wiser to have in Windows what NeXT, macOS and iOS started in 1988 and create single folder (*.app) masked as a self contained application where all *.so or *.dll would reside and any foreign code would simply be symlinked from source at install time. But that ship has sailed and not even UWP apps do that successfully.
So with that in mind, if you want clean code you must go the macOS route, else you'll notice that any #WinUI or Win32 code gets filled easily with DLL.
So
¯\_(ツ)_/¯
Keep Calm and Keep Coding
|
|
|
|
|
I haven't been living under a rock. I just don't do a lot of work with 3rd party components most of the time, and the big offenders like MonoTorrent don't have any 3rd party dependencies but still have like 40-60 projects in them. <-- those are what I'm mainly griping about.
You make an excellent point about macos and while I wouldn't necessarily package my filesystem/shell that way** it's a good idea.
** honestly, I'd just make "filesystem extensions" that allow you to traverse compound files like tars and zips and other containers like part of the filesystem - and supporting native FS calls.
That way you can just dump everything in it's own "subfilesystem" hive and have that mapped to a tar, or even a flat bin file with an OS FAT header on it.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
We focus heavily on code reuse, so DLL boundaries are focused on assembly dependencies, not on related tasks or something.
For example, we have a large C# DLL called Core that has no third-party dependencies, so a bunch of stuff is lumped together that are not related.
On the other hand, we wrap a third-party device DLL, so that wrapper is in a DLL by itself due to the extra assembly dependency.
The result is that we have a enough DLLs to allow for DLL-boundary code reuse, but we do not further subdivide them based on related source code. The compromise prevents us from having too many DLLs. We have about 40, each with different assembly dependencies.
|
|
|
|
|
That makes sense
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
It was a good idea back when bandwidth was not a generous as it is now. You could update only the small DLLs or small EXE that changed during minor version changes. That made updates quicker and easier.
|
|
|
|
|
You're gonna love .NET Core...........
-= Reelix =-
|
|
|
|
|
that's my primary dev platform right now. I switch between that and C++/win
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
I have no skin in this game. There is no one size fits all IMO. I've worked on (and perpetuated ) projects that have gone to both extremes. From client required single 25MB "common library" for a LOB app all the way to an anal retentive "separation of concerns including the weather at compile time" sort of thing. A 10 assembly Rube Goldberg like console app factored "for optimal code reuse" for a process so incredibly narrow in scope it that probably could have been handled in a powershell script.
How about from a Visual Studio perspective.. Anyone else, cool with having to wade through 60+ projects with dozens of code files per project within an application solution? Or even just having to deal with each version of VS seemingly choking on larger numbers of projects in a solution more and more? I know I frankly love having to update my PC hardware every other version just maintain a standard of productivity and performance for the exact same codebase. Solution organization and hierarchy alone could be a soapbox unto itself.
|
|
|
|
|
i'd upvote this twice if i could for the devstudio comment
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Pixelate CENSOR
boat SHIP to hide the truth
CENSORSHIP
I thought it was a fairly gentle one for a Tuesday, but hey ho ... I win!
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
To be pedantic, "censorship" would translate to "hiding of the truth" rather than "hide the truth".
|
|
|
|
|
To be pedantic, that;'s why it has "to" in front of it ...
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
To be even more pedantic, the use of the full infinitive does not change anything.
Whenever you find yourself on the side of the majority, it is time to pause and reflect. - Mark Twain
|
|
|
|
|
Winnie-the-Pooh --- A. A. Milne: When I first heard his name, I said, just as you are going to say,
"But I thought he was a boy?"
"So did I," said Christopher Robin.
"Then you can't call him Winnie?"
"I don't."
"But you said--"
"He's Winnie-the-Pooh. Don't you know what 'the' means?"
"Ah, yes, now I do," I said quickly; and I hope you do too, because it is all the explanation you are going to get.
'nuff said.
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
It's official, I hate Windows 10.
Unrelated to my disdain for Win10, it took six hours to download WoW. Just... wow.
I've never seen a laptop that comes with nagware before... It's horrendous. And intrusive.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Most laptop do, sadly. W10 is the chief nagware in existance, in fact I will cling to my W7 as long as it is possible.
GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
And then throw it out entirely. Goodbye Mickeysoft.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Can't. Gaming, VisualStudio and support for a lot of extra activities (wife and parents mostly) means that I'm "stuck" with Windows. Given my experience with Linux on Desktop, any M$ t**d remains better than the best *nix alternative.
I fought against it for 7 years, I'm all out of patience and my spare time gets more and more valuable, for sure more valuable than fighting against half baked "software" and half compatible drivers.
GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
As long as you have the time for Mickeysoft's bright ideas...
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Disabling them is easy enough, for now also a LinuxBox used for firewalling connections and a couple of eye patches will do the job quite rapidly.
When M$ will become harder to circumvent than *nix to make it work, it will be an easy switch. But not today.
GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
den2k88 wrote: Disabling them is easy enough 'Fraid not, because they're making it harder to avoid their stupid ideas.
E.g. the f***ing ridiculous disappearing scrollbars thing used to have an option to disable it in the Godawful settings app, but, with the latest update, you can't even disable it with a registry hack.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|