Jump to content

Windows 10 GWX Update Removal Tool for Windows 7 and Windows 8.1


rn10950

Recommended Posts

 

What do you mean by more generic though?

Something that presents a menu of installed updates and allows you to select the one you want to uninstall.

In case you mean the updates in the menu ought to be limited to those listed in the thread about avoiding Win 10, I do fully agree.

 

 

I like this idea, but it may take a while for me to implement it. But a somewhat-related question, does anyone know a way to hide updates via C++ or the command line?

Link to comment
Share on other sites


 

In case you mean the updates in the menu ought to be limited to those listed in the thread about avoiding Win 10, I do fully agree.

 

 

Looking over the various updates, those in the aforementioned thread are all those of course known to have some tie-in with Windows 10.

 

I don't know if that means they should ALL be eliminated. 

 

Several of them - e.g., those purporting to update Windows Update itself - I read as the process having been improved by the things learned by Microsoft in the preparation of the Windows 10 update.  At least one has been described by a Microsoft guy as something everyone will need (I know, I know, it's them talking, but still) because Windows Updates will rely on it moving forward...

 

One extreme might be to just remove the GWX update itself and leave all the others intact.

 

I myself have hidden only some of them.

 

-Noel

Link to comment
Share on other sites

What do you mean by more generic though?

Something that presents a menu of installed updates and allows you to select the one you want to uninstall.

In case you mean the updates in the menu ought to be limited to those listed in the thread about avoiding Win 10, I do fully agree.

 

 

I meant something that lists all the updates installed on the system and then gives an option to uninstall the update in question.  Of course, it can be expanded to all available updates and allow updates to be hidden, too.

Link to comment
Share on other sites

I like this idea, but it may take a while for me to implement it. But a somewhat-related question, does anyone know a way to hide updates via C++ or the command line?

 

 

I'd have to look into it - it's been quite a while since I worked with WUAPI, but I distinctly remember it possible to do through code.  I found out you could do just about everything on the system through the API, I'm sure hiding updates is a small task once you initialize the API.  Edit: I did.  Very easy.  Edit2: Though harder you can do the uninstall through the API too.  I may have to attempt this program and release it (generic as I was thinking - list updates available to system, uninstall what user chooses, allow hiding of updates, etc).

Edited by Glenn9999
Link to comment
Share on other sites

I may have to attempt this program and release it (generic as I was thinking - list updates available to system, uninstall what user chooses, allow hiding of updates, etc).

 

 

And I did, at least a clone of this one.  Being generic would be very easy and probably more preferable since you're messing with bringing back full update lists anyway.  I get a corruption of the image every once in a while when I test it.   Basically put, you have to find the update in Windows Update, the problem is, it's rather slow sometimes.  Good part is, you get an existence test and a chance to hide the update.  The problem with it being slow is that it seems you have to use WU in order to hide the update.  Of course, the Uninstall method in the API only works for WSUS, so couldn't do that.

 

Anyhow, since it was a just for fun thing, and don't want to horn in on this, have some source:

procedure TForm1.Button1Click(Sender: TObject);const  theupdate = '3035583';  theupdateid = '1aa3ae66-f3e2-4f9d-a37f-7caa951ee2b0';  //GUID for 3035583var  UpdateSession: IUpdateSession;  UpdateSearcher: IUpdateSearcher;  SearchResult: ISearchResult;  Update: IUpdate;  updstring: string;  procid: DWord;  token: LongBool;begin  Button1.Enabled := false;  UpdateSession := CoUpdateSession.Create;  UpdateSearcher := UpdateSession.CreateUpdateSearcher();  UpdateSearcher.ServerSelection := 0;  UpdateSearcher.ClientApplicationID := 'test wuapimap';  UpdateSearcher.Online := true;  updstring := '(IsInstalled=1) and updateid=''' + theupdateid + '''';  Memo1.Lines.Add('Searching for Update ' + theupdate);  SearchResult := UpdateSearcher.Search(WideString(updstring));  if SearchResult.ResultCode <> 2 then // not success    begin      Memo1.Lines.Add('Search error.');      Button1.Enabled := true;      exit;    end;  if SearchResult.Updates.Count = 0 then // no updates returned    begin      Memo1.Lines.ADD('Update ' + theupdate + ' not found.');      Button1.Enabled := true;      exit;    end;  Update := SearchResult.Updates.Item[0];  Update.IsHidden := true;  Memo1.Lines.Add('Update ' + theupdate + ' hidden.');  Memo1.Lines.Add('Running uninstall - wusa.exe /uninstall /norestart /quiet /kb:' + theupdate);  DisableWow64Redirection(token);  Execute_program('wusa.exe', '/uninstall /norestart /quiet /kb:' + theupdate, procid, true);  RevertWow64Redirection(token);  UpdateSearcher._Release;  UpdateSession._Release;  if MessageDlg('The Machine Needs to be restarted.  Do it now?',              mtWarning, [mbYes, mbNo], 0) = mrYes then     machine_restart;  Button1.Enabled := true;end;
Edited by Glenn9999
Link to comment
Share on other sites

I meant something that lists all the updates installed on the system and then gives an option to uninstall the update in question.  Of course, it can be expanded to all available updates and allow updates to be hidden, too.

 

 

Out of curiosity, what do you imagine will be the difference between that and the application the OS provides to do exactly that?

 

What OS are you talking about running on?

 

-Noel

Edited by NoelC
Link to comment
Share on other sites

Out of curiosity, what do you imagine will be the difference between that and the application the OS provides to do exactly that?

 

What OS are you talking about running on?

 

-Noel

 

 

Next to little.  Just mentioning it as opposed to a one shot thing like the program posted in this thread.  Next to little between this app and going into Control Panel, uninstalling the update, and then hiding it in Windows Update.

Link to comment
Share on other sites

Just my 2¢, so feel free to ignore it, but I'd stick to the original purpose of the application and make it exclusively a way to opt-out of 10, after being conned by MS into accepting it. Such an application is clearly needed, especially by the less tech-savvy users.

Link to comment
Share on other sites

^^ I agree completely: less tech-savvy users are the ones who will benefit the most from this neat little utility.

 

The key, though, will be to somehow get these users to hear about the utility's existence.

 

--JorgeA

Link to comment
Share on other sites

I agree with dencorso and JorgeA, I wrote this utility specifically for the Windows 10 updates. Coming in the next few days, however is a big update with new features and some major code changes. I will add an "Advanced Mode" (see the GitHub page for more on that) and possibly command-line switches (requested by Kelsenellenelvian) Coming in the update after that will be a "kill two birds with one stone" update that will wipe out all the possible Win10 updates noted in the thread posted previously, as well as the ability to hide the updates once removed. (I have to figure out how to use the WUA API, I keep getting VS2005 build time errors in Wuapi.h) Once that update is released, I think it will be ready for the non-techical users.

 

Speaking of the regular users, when I released the utility last week, I posted on Reddit's /r/Windows. They seemed to hate it and asked me "why didn't you just write a batch file", simple, there are users that see a CMD window and think it's hacking. (and no unfortunatley, I'm not making this up) What are your opinions on that?

Link to comment
Share on other sites

I'd say that your approach is the best one. Ignore the naysayers. The command line is intimidating for non-geeks and for those who didn't cut their teeth on MS-DOS back in the day.

 

--JorgeA

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...