[WIP][HELP] Making a simple guide to make the "best" Windows 7 ISO

Discussion in 'Windows 7' started by kebabstorm, Mar 31, 2022.

  1. kebabstorm

    kebabstorm MDL Junior Member

    Aug 3, 2016
    94
    121
    0
    #21 kebabstorm, Apr 18, 2022
    Last edited: Apr 18, 2022
    (OP)
    I know dude, and as I won't use W10/W11 garbage, it means that if Microsoft don't change the direction of their ship and release a better OS (which I doubt they will, as mining data is the contemporary equivalent of mining gold) , eventually world will stop supporting Win7 and I need to look for alternatives. This is happening already, W7 market share is getting small and not all software support 7 anymore (which is a shame and also dumb, because 99% of software don't use any new features from W10/W11 and it's just a matter of compiling the code for W7 too, I understand though from business perspective that dev time cost money and if they don't have enough W7 customers to cover the cost of that small effort, they won't do it).

    I'm pretty well-versed in Linux already using it for a loooong time for basically everything server-based, so the transition won't be painful in that way. It's just that I've always used Windows since MS-DOS, and I've grown to love it. I hate to see the OS I love and am so used to going to s**t. Win7 is pretty much a pinnacle of an operating system for personal desktop use, in my opinion. I would be completely fine using Windows 7 forever if it had continued support from hw manufacturers and software devs. There are a lot of things about Linux which I don't like, which Windows does better IMO. I don't like the unix-style filesystem, nor the concept how software and their dependencies have to be installed. I do like docker though and also the container-style installers found in macOS. While Windows gets a lot of flak about "DLL Hell", I think in Linux it's much worse, mostly due to the large amount of variations around. I know it's super easy in linux to deploy pretty much anything, just apt-get and off you go. But what I don't like is having the files scattered around the system and to trust that installers and dependency references work 100% of the time, which they don't, meaning that junk gets left behind. You said you like chocolatey, that concept is exactly what I hate. Example: installing python via chocolatey, yeah it silently installed fine but also without asking installed system-wide stuff like a shell handler, installing pylauncher to system32 dir, stuff like that. I thought scoop was the portable brother of chocolatey as it advertises itself, but it is not. It still uses the normal installers and leaves junk behind. In my perfect world everything would be portable, contained in a single folder and it never touches anything else. If I delete the folder, everything is gone, simple as that. In windows this can be achieved much easier, though the abomination that is windows registry will get eventually bloated enough to require a system reinstall (because again some software use registry but their uninstallers don't do their job and don't delete everything). If registry was never invented and software sticked to the old paradigm of using only config and .ini files, that'd be perfect. Install 1000 software and remove 1000 software, without a trace of bloat left behind. Because the concept of software in linux is based on getting the source code of every single dependency , building it and installing globally, it's quite the opposite of portability. It reminds me of .NET "managed code" in windows and it's way of handling "assembly" dependencies, which I absolutely loathe. I wish .NET was never a thing. It's performance is abysmal and the poor dependency handling of million different assembly versions makes people have different bugs regarding to their specific environment which are hard to track. And it completely forgets the one thing Windows is so good at, uniformity and backwards-forwards compatibility. I mean I can write code in C/C++, compile it to native code and either statically link the binary or link to msvcrt (or even ntdll) which has existed since windows 2000, and it will just work for anyone no matter whether it's booted up in Windows 2000 or Windows 11. No need to install any dependencies, everything is already there. I can write GUI apps in winapi and resulting binary will be a few kilobytes in size and using pretty much zero RAM, while in Linux I would need to include a bloated 50MB Qt-framework just to display a f**king dialog box.

    Of course, there is a lot of stuff which Linux does undoubtedly better. Batch is a joke and powershell not much better compared to the command-line goodness Linux has. But the thing is, I can fire up MSYS in Windows and easily have the linux command line environment without any VM/emulation. Best of both worlds, in my opinion. There is also WSL, which I haven't used but I heard it works well. And if I need a full-fledged linux environment, i can just fire up vagrant/virtualbox.

    Simply put, I think linux wins for server stuff and in command-line, but windows wins in GUI. And the point is still very true that linux is for tinkerers and windows is for normies. If I want to write apps for non-technical professionals, I write them for windows, and it just works. It's much harder to write software for linux which just always works with zero-configuration and tinkering required. Everyone has their own favourite window manager and every environment is different, unlike windows where I not only know how everything works on my computer, but on other computers too. I can easily write software which I know it'll work and just send a binary to a non-computer person friend, who clicks it and it just always works without any hassle.

    Example: I wanted to play retro-games with my friends through a VPN so it'll bypass any port-forwarding and NAT stuff and from the games' perspective it seems we are all on a same LAN. Setting up a VPN is of course not rocket-science, but for an average non-technological person it very well might be. For Windows I can make an app contained in a single binary file containing everything it needs and from user's perspective it's just a dialog box with a single button "Connect". Click on that, while in the background it loads a TAP driver and makes a network adapter, configures the VPN settings and connects to it, test the connection to everyone else. and only shows a single thing, "Connected". On exit it disconnects, unloads everything, uninstalls network driver, without a trace left behind. And it works for everyone, from Windows 2000 all the way to Windows 11. And the binary size with all dependencies included, 300KB. Doesn't need anything else installed, only linked to kernel32.dll, user32.dll and msvcrt.dll which every windows installation have by default. A thing like that is simple to do in windows, but try doing the same in linux which is similarly universal and just works 100% of the time and doesn't require installing additional dependencies. I mean even starting that would run into the problem of distros having different styles of configuring the network interfaces, even between different kernel versions of the same distro. And you run into this same thing in basically everything linux. There are no universal principles, no universal configurations, everything is always different. You can't just assume that a config file for X is in the same place for everyone or even in the same format. You basically need to either leave the user to fend for themselves and do the configuration, or code in every combination of kernel and distro version which is at least a huge undertaking or even basically impossible.

    So if I like windows, why the need to forego privacy and accept bloat? In Windows 7 it's still possible to fix it so the bloat and telemetry is removed, because it's not baked into the OS itself. That's the thing, I like Windows and want to keep using it, but sad that I can't. The alternatives have too many downsides compared to windows, in my opinion. And it's a matter of personal preference, what I'm used to work with, where I can work fast and know the OS by heart.
     
  2. ExtremelyFancyUsername

    Oct 17, 2018
    212
    70
    10
    this thread reads like a fever dream
     
  3. ExtremeGrief

    ExtremeGrief MDL Addicted

    Jun 2, 2020
    729
    154
    30
    Actually, in Linux, when you uninstall a program, it also automatically uninstalls its dependencies unless there is another program which uses them.

    I have used Arch Linux since a few years ago and NEVER had any problems with dependencies. Have been using the same installation for a few years, even upgraded my hardware a few times.

    About the QT thing, yes, it weights a lot but a pure Linux install only weights around 1GB, while a fully updated Windows 7 weights around 20GB, so you're still better off with it.

    About the Linux compability, you can check out AppImage, which is a project to make global Linux applications easier to develop. It contains all necessary dependencies inside, like a Windows portable program package.

    I have also used Windows all my life, but Windows 7 will soon be like Windows 98 or 2000, where you will barely be able to even browse the web, so I personally took action and switched full-time to Linux, so I won't have to do it in the future. After 2024, Windows 7 will remain vulnerable to a lot of vulnerabilities and will be unsafe to use.
     
  4. kebabstorm

    kebabstorm MDL Junior Member

    Aug 3, 2016
    94
    121
    0
    Yeah this topic is something I feel strongly about, so I get easily carried away and rambly...gotta tone it down, mb.

    TBH I haven't really extensively tried out a desktop Linux environment, mostly only for server/embedded stuff. Maybe I should give it another shot.
     
  5. ExtremelyFancyUsername

    Oct 17, 2018
    212
    70
    10
    Switching to Zorin OS is my exit strategy for when Win7 is finally truly EOL.
     
  6. Dude Guyman

    Dude Guyman MDL Senior Member

    Jun 20, 2017
    281
    279
    10
    I've been tinkering with Linux for about 12 years now. It is getting much better, but in my opinion, is not ready to 100% replace Windows. I mean I could live with it if that's all there was, but some things just can't be done, or done well anyway. Music recording and production for example. The applications that exist for it are just...bad! Extremely limited and usually crashy to boot. Gaming, again getting better, but still very "fiddly", crashy, and usually performance is much worse, even in the games that run well via Steam-Proton, like Warframe, just a nasty sutter-fest. None of that is the fault of Linux itself, just the limited support/development for it.

    It is great for servers, or just a simple desktop to browse, email, and a bit of audio/video playing. As soon as you start doing something a bit more advanced, or niche though, it bombs or is just so convoluted to get working well, that it is pointless. Hell just getting it to play a blu-ray movie properly is Hell.

    All that wining done though, if my only option was Windows 11, or non-LTSC 10, I'd go full Linux and just give up my music production hobby and 3/4 of the games I would normally play.
     
  7. kebabstorm

    kebabstorm MDL Junior Member

    Aug 3, 2016
    94
    121
    0
  8. yasagani

    yasagani MDL Novice

    Apr 15, 2016
    11
    1
    0
    Man, this thread might be a fever dream, but it's one I definitely share, although I'd probably use a bit more spacing.

    Learned a lot from these posts, keep 'em coming! I personally hope you don't switch to Linux before you finish this project haha. I definitely feel that eventually I will be forced to switch to Linux, but as primarily a gamer, I dread the day when I have to start the learning process for a new OS.

    I want to hope that, because of the current state of OSes, Win7 will receive community support past 2024 and maybe even another security update extension. People keep saying that you won't even be able to surf the net, but there's Pale Moon for that, for now at least.
     
  9. kebabstorm

    kebabstorm MDL Junior Member

    Aug 3, 2016
    94
    121
    0
  10. kebabstorm

    kebabstorm MDL Junior Member

    Aug 3, 2016
    94
    121
    0
    #30 kebabstorm, Apr 30, 2022
    Last edited: May 1, 2022
    (OP)
    for acpi mod test I added the modified acpi.sys to boot.wim indexes 1&2 , winre.wim and install.wim . The mod is based on the latest acpi.sys build (24056) , install.wim has 3 builds : 17514, 23403 , 24056 , while boot and winre have only 17514. Instead of patching each of the versions, I just replaced every existing version of it with the modded newest one. I don't have the hardware to test but we'll have to see if it works that way, or does the date / version attributes either in the sys file / inf files need to be adjusted, because the dates and versions don't match for the earlier ones right now.

    edit: at least in a vm the modded acpi.sys works just fine (v2, the first didn't as there was a bug). but since the vm does not have the acpi error anyway, it doesn't mean it works. some1 with a new mobo who run into the acpi A5 error pls test. in any case it doesn't seem to matter that the older versions are replaced with the newer one without changing the version info
     
  11. Verifiable

    Verifiable MDL Novice

    Jan 22, 2020
    15
    2
    0
    What did you disable and how did you do it?? I need something like this.
     
  12. egalerst

    egalerst MDL Junior Member

    Sep 3, 2017
    54
    38
    0
    Take a look in win7ent.cmd

    :: Disable pagefile
    reg add "HKLM\TK_SYSTEM\ControlSet001\Control\Session Manager\Memory Management" /f /v SystemPages /t REG_DWORD /d 0 || pause
    reg add "HKLM\TK_SYSTEM\ControlSet002\Control\Session Manager\Memory Management" /f /v SystemPages /t REG_DWORD /d 0 || pause
    reg add "HKLM\TK_SYSTEM\ControlSet001\Control\Session Manager\Memory Management" /f /v PagingFiles /t REG_MULTI_SZ /d "" || pause
    reg add "HKLM\TK_SYSTEM\ControlSet002\Control\Session Manager\Memory Management" /f /v PagingFiles /t REG_MULTI_SZ /d "" || pause

    :: Disable kernel paging
    reg add "HKLM\TK_SYSTEM\ControlSet001\Control\Session Manager\Memory Management" /f /v DisablePagingExecutive /t REG_DWORD /d 1 || pause
    reg add "HKLM\TK_SYSTEM\ControlSet002\Control\Session Manager\Memory Management" /f /v DisablePagingExecutive /t REG_DWORD /d 1 || pause
     
  13. yasagani

    yasagani MDL Novice

    Apr 15, 2016
    11
    1
    0
    Hey I was wondering how this project is going! DId you get your dream Win7 install?
     
  14. NAVer

    NAVer MDL Novice

    Jan 4, 2022
    1
    0
    0
    Love this project. I'm trying your pre-release alpha now, i'll report back with any issues.
     
  15. yasagani

    yasagani MDL Novice

    Apr 15, 2016
    11
    1
    0
    Where exactly is this pre-release alpha?
     
  16. tcntad

    tcntad MDL Guru

    Oct 26, 2009
    4,488
    1,506
    150
    Read above?
     
  17. yasagani

    yasagani MDL Novice

    Apr 15, 2016
    11
    1
    0
    I have no idea how I missed that O_O
     
  18. tcntad

    tcntad MDL Guru

    Oct 26, 2009
    4,488
    1,506
    150
    I admit I almost missed it:) Its alot of text so guess thats why
     
  19. raiderman

    raiderman MDL Novice

    Nov 28, 2007
    32
    22
    0
    Any updates on this project? I am very interested in how its going.
     
  20. Chuterix

    Chuterix MDL Senior Member

    Apr 18, 2022
    275
    120
    10
    i look back at this thread, and now i think seven2esd is going to be the result of this entire guide (but you have to make the iso yourself:evil2:)
    sorry for late response, but idk, OP has been abandoned for a while
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...