{"id":23209056,"url":"https://github.com/thevice/winupdatesmanager","last_synced_at":"2025-04-05T12:09:58.892Z","repository":{"id":10118524,"uuid":"12186856","full_name":"TheVice/WinUpdatesManager","owner":"TheVice","description":"Series of scripts to manage MS DLC from KB913086 and others","archived":false,"fork":false,"pushed_at":"2016-11-14T14:05:43.000Z","size":112845,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-10T22:52:16.887Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheVice.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-08-17T22:38:25.000Z","updated_at":"2015-07-27T12:27:44.000Z","dependencies_parsed_at":"2022-09-05T05:30:23.213Z","dependency_job_id":null,"html_url":"https://github.com/TheVice/WinUpdatesManager","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheVice%2FWinUpdatesManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheVice%2FWinUpdatesManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheVice%2FWinUpdatesManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheVice%2FWinUpdatesManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheVice","download_url":"https://codeload.github.com/TheVice/WinUpdatesManager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247332610,"owners_count":20921853,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-18T18:14:17.613Z","updated_at":"2025-04-05T12:09:58.867Z","avatar_url":"https://github.com/TheVice.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"WinUpdatesManager\n=================\n\nSeries of scripts to manage MS DLC from KB913086 and others\n* Support to process data through uif(JSON list) files, [MongoDB](https://www.mongodb.org/) or [SQLite](https://sqlite.org/).\n* Collect data provided to *uif* (Updates Information) files that can be converted to MongoDB or SQLite through accompaniment tools *uif2MongoDB* and *uif2SQLite*.\n\n##Deploying\n\n###Basic\n* Install [Python](https://www.python.org/).\n* To work through MongoDB install [pymongo](https://pypi.python.org/pypi/pymongo/):\n   * direct installing by installator or\n   * ```pip install pymongo``` or\n   * ```easy_install pymongo```\n* For web UI install [cherrypy](https://pypi.python.org/pypi/CherryPy):\n   * direct installing by installator or\n   * ```pip install cherrypy``` or\n   * ```easy_install cherrypy```\n\n###Setup file storage using Ubuntu\n* Install [FuseIso](https://help.ubuntu.com/community/FuseIso)\n* Install [mhddfs](https://romanrm.net/mhddfs)\n* Configure [Samba Server](https://help.ubuntu.com/community/Samba/SambaServerGuide) to use ```/srv/samba/share/```\n* At terminal(console) go to folder where iso and updates file present in structure like this:\n```\n├───2013\n├───2014\n├───Addons\n│   └───1213\n│       ├───2877213\n│       │   └───Windows8\n│       │       ├───x64\n│       │       │   └───NEU\n│       │       └───x86\n│       │           └───NEU\n│       ├───2891804\n│       │   ├───Windows7\n│       │   │   ├───x64\n│       │   │   │   └───NEU\n│       │   │   └───x86\n│       │   │       └───NEU\n│       │   ├───Windows8\n│       │   │   ├───x64\n│       │   │   │   └───NEU\n│       │   │   └───x86\n│       │   │       └───NEU\n│       │   └───WindowsVista\n│       │       ├───x64\n│       │       │   └───NEU\n│       │       └───x86\n│       │           └───NEU\n```\n* Type and execute ```sudo bash \u003cpath to scripts/manageStorage.sh\u003e```\n\n##Sample using\n\n###Using getUif script for collect data\n* Mount ```ISO-9660 DVD5 image``` with [security updates](http://support.microsoft.com/kb/913086/). To do so at Windows 8 and up right click on iso file and Open with Windows Explorer, for previous version of Windows you can use external application, for example [WinCDEmu](http://wincdemu.sysprogs.org/).\n* Open cmd.exe, move to Python folder.\n* Type and execute ```python getUif.py \u003cpath to mount point of image\u003e \u003cMMYY\u003e```. Where MM is month of image (from 01 to 12) and YY is last two digits of image year, for example for 2015 it will be 15.\n* List of update description in ```uif``` format (JSON list), so you can save to file, just add to command ```\u003e file.uif```.\n* For own created year edition of iso image required only path. All folders at root with name in form \u003cMMYY\u003e will be scanned.\n* To import stored info into MongoDB type and execute ```python uif2MongoDB.py \u003cfile.uif or folder with *.uif\u003e \u003cdatabase name\u003e \u003ctable name\u003e \u003caddress of server, for example mongodb://127.0.0.1:27017/\u003e (optional, if not set using local)```. Names for database and table(collection) can be any, but while query used database ```win32``` and table ```updates``` so it required to set that names.\n* To import stored info into SQLite type and execute ```python uif2SQLite.py \u003cfile.uif or folder with *.uif\u003e \u003cpath to SQLite file, if not exist it will be created\u003e```. Extension of SQLite file can be any except ```uif```.\n\n###Using updates4Target(command line UI) or webUi to query information from collected data\n* Open cmd.exe, move to Python folder.\n* Depend of data storage running of ```updates4Target.py``` will be next:\n   - ```python updates4Target.py \u003cPath to uif file\u003e or \u003cPath to folder with uif files\u003e \u003cOs name\u003e \u003cOs type\u003e \u003cOs language\u003e \u003cPath to report file\u003e(optional)```\n   - ```python updates4Target.py \u003cPath to MongoDB server, for example mongodb://127.0.0.1:27017/\u003e \u003cOs name\u003e \u003cOs type\u003e \u003cOs language\u003e \u003cPath to report file\u003e(optional)```\n   - ```python updates4Target.py \u003cPath to SQLite file\u003e \u003cOs name\u003e \u003cOs type\u003e \u003cOs language\u003e \u003cPath to report file\u003e(optional)```\n* For running ```webUi.py``` you pass only source data(```\u003cPath to uif file\u003e```, ```\u003cPath to MongoDB server\u003e``` or ```\u003cPath to SQLite file\u003e```) and than open in web browser link [http://127.0.0.1:8080](http://127.0.0.1:8080) (by default configuration) where you can choose your target OS parameters and put required report.\n\n###Using updates2Package to packing updates into folder tree that used in ISO-9660 DVD5 image with security updates\n* For updates that do not located at regular iso images used manual download.\n* Than you can automatic packing that files into folders' tree.\n* Open cmd.exe, move to Python folder.\n* Type and execute ```python updates2Package.py \u003cPath to folder with downloaded updates\u003e```.\n* For example you downloaded:\n   * Windows6.0-KBXXXXXXX-x64.msu\n   * Windows6.0-KBXXXXXXX-x86.msu\n   * Windows6.1-KBXXXXXXX-x64.msu\n   * Windows6.1-KBXXXXXXX-x86.msu\n   * Windows8.1-KBXXXXXXX-x64.msu\n   * Windows8.1-KBXXXXXXX-x86.msu\n   * Windows8-RT-KBXXXXXXX-x64.msu\n   * Windows8-RT-KBXXXXXXX-x86.msu\n   * WindowsServer2003-KBXXXXXXX-x64-ENU.exe\n   * WindowsServer2003-KBXXXXXXX-x64-RUS.exe\n   * WindowsServer2003-KBXXXXXXX-x86-ENU.exe\n   * WindowsServer2003-KBXXXXXXX-x86-RUS.exe\n* After executing updates2Package you got next file system tree:\n```\n├───Windows7\n│   ├───x64\n│   │   └───NEU\n│   │           Windows6.1-KBXXXXXXX-x64.msu\n│   │\n│   └───x86\n│       └───NEU\n│               Windows6.1-KBXXXXXXX-x86.msu\n│\n├───Windows8\n│   ├───x64\n│   │   └───NEU\n│   │           Windows8-RT-KBXXXXXXX-x64.msu\n│   │\n│   └───x86\n│       └───NEU\n│               Windows8-RT-KBXXXXXXX-x86.msu\n│\n├───Windows8.1\n│   ├───x64\n│   │   └───NEU\n│   │           Windows8.1-KBXXXXXXX-x64.msu\n│   │\n│   └───x86\n│       └───NEU\n│               Windows8.1-KBXXXXXXX-x86.msu\n│\n├───WindowsServer2003\n│   ├───x64\n│   │   ├───ENU\n│   │   │       WindowsServer2003-KBXXXXXXX-x64-ENU.exe\n│   │   │\n│   │   └───RUS\n│   │           WindowsServer2003-KBXXXXXXX-x64-RUS.exe\n│   │\n│   └───x86\n│       ├───ENU\n│       │       WindowsServer2003-KBXXXXXXX-x86-ENU.exe\n│       │\n│       └───RUS\n│               WindowsServer2003-KBXXXXXXX-x86-RUS.exe\n│\n└───WindowsVista\n    ├───x64\n    │   └───NEU\n    │           Windows6.0-KBXXXXXXX-x64.msu\n    │\n    └───x86\n        └───NEU\n                Windows6.0-KBXXXXXXX-x86.msu\n```\n\n###Using batchGenerator(command line UI) or webUi to generate batch that installing updates\n* Open cmd.exe, move to Python folder.\n* Type and execute ```python batchGenerator.py \u003cPath to file with path list from updates4Target\u003e```\n* For running ```webUi.py``` you pass only source data(```\u003cPath to uif file\u003e```, ```\u003cPath to MongoDB server\u003e``` or ```\u003cPath to SQLite file\u003e```) and than open in web browser link [http://127.0.0.1:8080](http://127.0.0.1:8080) (by default configuration) where you can generate your batch file by put required file list from queried section.\n\n##WinUpdatesManager and Windows 10\n* Because in EULA Microsoft say very clear: ```For consumers and small business, Windows 10 delivers automatic updates, with no option to selectively delay or reject individual updates``` that’s why is very small reason for using this project on/with that version of Windows.\n\n=============\n\n   Copyright 2013-2015 https://github.com/TheVice/\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthevice%2Fwinupdatesmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthevice%2Fwinupdatesmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthevice%2Fwinupdatesmanager/lists"}