I'm trying to keep a clean system and avoid installations as much as possible but sometimes Ι encounter some necessary requirements that force installations of runtimes and 3rd parry drivers. Is there some way to implement those without installing them? For example the visual studio runtimes (vcredist_x64) is one i need right now.
For the most part runtimes and drivers MUST be installed for them to work.
For many of them it would also be against the terms of their licence to distribute them in any form other than the generally available redistributable installer.
No i dont need to distribute them, or do something for public use, i'm just looking for ways that will help me achieve something on a personal level and for private use. So do you think for now, theres a way to unpack and have visual runtimes working on my system without having it installed? I'm not looking to publish something, just make it work for my own system.
Sorry, I was speaking more from a "would PortableApps.com be able to package/release it" point of view, since that is what most users ask for.
As stated runtimes/drivers generally have to be installed to work.
Drivers are semi-compiled during installation to support your operating system and hardware config. Runtimes usually need something in the registry to announce to other programs that they are there, since it would be pointless having the runtimes sitting in a folder but your apps had no idea they were there.
The Microsoft Visual C++ runtimes can be handled differently for a number of apps (some apps package the necessary runtime files they need, even rarer ones can be manually pointed to where the runtime files are located), but this isn't common enough to be a real solution for all or even most apps.
Unfortunately you will always end up having to install something to get your computer working the way you want it to.
Some things can be done but become unstable.
He could import the registry for runtimes and remove it as needed, like my DirectX, but you'd need admin rights and a launcher to do so.
Also, I've been able to load drivers for some apps, but unloading has issues. For example, I can load Internet Download Manager driver and unload it, but I must reboot to load the driver after unload.
For UltraISO, I can load/unload but can't tell which CD/DVD drives are virtual, to unmount them.
Most apps I have used don't "Compile" any drivers, though they may bundle multiple variants (I looked at MBAM, has at least 4 driver variants for different OS and 32/64 Bit).
So things can be done for your PC to make ripping the app out possible (I use PA to be able to nuke my OS and have my app settings self contained, also I write setting backup scripts for apps I don't/can't package as PAL).
but as you say there are issues.
I wasn't talking about app-based drivers exactly, I was more leaning towards things like hardware drivers that really shouldn't ever need to be modified except to upgrade them (and I use the word "compile" quite loosely in that context).
What you've experienced with IDM I've seen on a few other apps as well, the driver will load but can't be unloaded until after a reboot. This seems to be a fairly regular occurrence with apps that need drivers, and is pretty much down to a limitation of Windows in that it usually expects things to be permanent, so it doesn't like to let go.
Generally speaking there is only so much you can do to separate the OS from your apps before you actually start slowing your system down as it has to wait for scripts to run, files to move etc. Although they become more negligible as hardware gets faster, there is also a level of how much hassle do you make for yourself separating and upkeeping these things when installing them is actually more efficient in the long-term?
Well the slight delays are massively trumped by what used to take 3 days to reconfigure my PC after an OS reinstall (I like to nuke and pave frequently, to keep the registry from becoming a pile of crap as it tends to do).
Now I can get things up in a few hours. I don't run the portable IDM, but I wrote scripts to backup my settings.
For places that store a lot of stuff, like iTunes libraries, I use symlinks to a USB HDD as opposed to portableapps (because iTunes is too complex to even think about taking a PAL crack at).
I keep all my important data off the OS Drive, it is almost disposable with stuff on the USB HDD. I've also tried to switch apps in some cases for apps I used little but took a lot of config.
Also, about drivers, I've wondered if deleting the files but not unloading them would work (stop driver vs uninstall driver is different, may work in some cases).
It would be nice if basic driver support was enabled in a sane way. Obviously some things will not work, but others will, but it is a lot of custom code to do, whereas it would be easy if built into the platform launcher code.
PS: Hardware specific drivers will probably be a no go, but some app based stuff could work.
This seems a bit extreme but you could run a Windows virtual machine on a Windows host machine. Keep the host minimal i.e. no installed apps just hardware drivers, and then install everything you need on the VM. You can take a snapshot of the VM once it has what you'd consider the core applications/run-times on it and then you can simply blow the VM away when you feel it's getting too "dirty" and restore the clean snapshot.
I can't speak to the legality of this but I've done it for the purposes of testing questionable software using Oracle's Virtual Box.
Other than that, the only other self-sustaining environment I can think of would be a non-Windows solution using a small Linux distribution like Puppy Linux, SliTaz, or some other similar distribution, either a frugal install on a hard drive (possibly even dual boot with Windows) or a USB install.
Works if your machine isn't too weak to make full use of a VM.
Use a cheap laptop and you find out just how inadequate your PC is to do this.
Anyone one could go farther if they had used to something like VMware ESXI where the host OS is a lightweight Hypervisor for running VMs instead of a whole Windows install used for running another whole Windows install in a VM.
I run Windows 7 in a VM on a Macbook all day, every day (of the work week at least). I guess I'm lucky, my laptop isn't cheap.
Not quite the same thing but I've run various Linux distributions in VMs on my machine at home without any problems. My machine at home is pretty modest; 2.4 GHz dual core with 4GBs of RAM (most laptops have better specs than that these days). I have run Windows in Windows too but it was a very scaled back XP, so perhaps not a "fair" test.
If fact, I've had more success running Virtual Box than I have running DOS Box. While that's sort of an apples to oranges comparison, you'd think DOS would be a breeze to emulate and run, even on modest hardware.
So, it can be done. I'm not saying that it's the best solution or the only solution but it is a solution nonetheless.
Thank you for clearing up the subject. Just as i thought it is almost impossible to keep system "clean"...
Dan http://greenavis.com/
If you have a lot memory, this should work.