elpumpo / tinynvidiaupdatechecker Goto Github PK
View Code? Open in Web Editor NEWWindows tool to check for NVIDIA GPU driver updates
License: GNU General Public License v3.0
Windows tool to check for NVIDIA GPU driver updates
License: GNU General Public License v3.0
If WinRAR is required for its ability to create RAR archives, there's no existing alternative.
Otherwise, there are a few options:
EDIT: And now realizing that the problem might not be unRAR but SFX. Entirety of everything above might be useless.
Currently there's no support for mobile GPUs, the application will find a out-dated version but the download link will be incorrect.
It's possible to make the driver archive extract its contents silently and without it automatically launching the setup. The command line switches are -y -gm2 -nr (referenced from https://github.com/chrislake/7zsfxmm/wiki/Switches).
Perhaps implementing the minimal install this way would be a bit less efficient since you will be extracting everything and then deleting the bloatware (everything not whitelisted I suppose) but on the other hand you won't need any third party tool to extract the archive.
Seems like v375.57 removed nvvsvc.exe
completely, I am changing the file to something else.
i'm retarded
I'm okay with having 7-Zip, but my main software is Bandizip atm.
And I rather use portable 7-Zip, so setting for exe location in config file would nice to have instead of installing 7-Zip unnecessary.
Was told to post this here. The program correctly identified my nVidia 310m GPU (laptop) and said new drivers were available and proceeded to download them (385.41). However, after running the nVidia installer the driver is not compatible with my GPU.
Visiting nVidia's website shows that I already have the latest drivers (342.01).
Specs:
Toshiba Satellite A665-S6050
Windows 7 64bit
nVidia 310m GPU (Nvidia Optimus)
4gb RAM
Intel Core i5-450M Processor
In addition to drivers installing, to also add PhysX installation also
There is an error when running the installer saying: The setup can't find the specified file
here are the nvidia logs of such issue:
0.226 | DEBUG: [NVI2.CEngineCache] 1918@CEngineCache::CacheManifestFiles : Flattening C:\Users\joaopsantos\Downloads\TinyNvidiaUpdateChecker\NVI2\progress.htm.
0.229 | INFO: [NVI2.CEngineCache] 1935@CEngineCache::CacheManifestFiles : Copied C:\Users\joaopsantos\Downloads\TinyNvidiaUpdateChecker\NVI2\progress.htm to C:\Program Files\NVIDIA Corporation\Installer2\installer.{C4C21A18-E15D-40EA-A9C7-1D1D07D98ADE}\.\progress.htm.
0.235 | ERROR: [NVI2.NVManifestFile] 54@CNVManifestFile::CopyOrCheck : Manifest file ".\GFExperience\EULA.html" missing source directory C:\Users\joaopsantos\Downloads\TinyNvidiaUpdateChecker\GFExperience.
0.235 | INFO: [NVI2.CEngineCache] 1980@CEngineCache::CachePerManifest : Exiting Checkpoint: Caching "installer" ( 32 ms ).
Currently the program requires the user to state whether the Nvidia card in use is a Desktop-sized or Mobility variant. This can be automated using a basic WMI check.
In CMD, you could use the WMIC tool and the following command:
wmic systemenclosure get chassistypes
Compare this to a lookup table located here: https://technet.microsoft.com/en-us/library/ee156537.aspx
And you can easily tell whether a device is a Laptop or a Workstation.
My ASUS ROG Laptop, for example, identifies as {10} (notebook).
This would ideally work in tandem with my other request -- a "--silent" switch -- to completely automate Nvidia update checks, even on devices on which the software has not been previously run.
This may be because I am using the 64 bit version?
It's always nice to know this information if we want to install beta drivers or just check our drivers version and it's a trivial change as you use it already for debug.
Unhandled Exception: System.InvalidOperationException: Cannot start process because a file name has not been provided.
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at TinyNvidiaUpdateChecker.MainConsole.downloadDriver()
at TinyNvidiaUpdateChecker.MainConsole.Main(String[] args)
Occurs in v1.4.1. HtmlAgilityPack.dll was located in same folder as the program.
Steps to reproduce:
1.) Run program.
2.) Agree to download updated drivers. After selecting location, drivers successfully download.
3.) At prompt to view release PDF, hit Yes. Program immediately crashes.
@ElPumpo I decided to open up another issue for the 7zip\scoop support, unfortunately still doesn't work, the problem I guess is pretty easy to fix if you already fixed for the users\scoop.
The problem is that scoop let you install in two ways locally (using the local folder of the user the one you fixed I guess), and globally with the flag -g that will install 7zip in C:\ProgramData\scoop\apps\7zip\current (the path is the same of the local one I guess except is in C:\ProgramData\scoop).
Could you please add it aswell? so systems with 7zip installed globally will work as well thank you very much!
At the moment we only extract the following files / directories
string[] filesToExtract = { "Display.Driver", "NVI2", "EULA.txt", "license.txt", "ListDevices.txt", "setup.cfg", "setup.exe" };
The optimal solution would be a GUI with all the packages that the driver offers, the driver file content has already been documented over at the wiki
There is currently an unexpected behaviour from the WebClient
class. It saves the old requests as cache, delaying updates which is not good!
This affects the following:
So i battled with geforce experience the last few hours and got a lot of new informations.
Geforce Experience itself starts a webserver. The port is random every time you restart your pc but is defined in the JS File located at "Programs (x86)/NVIDIA Corporation\NvNode/index.js:L741". So it should be possible to make it the same everytime.
The Port and Security Token is saved at "%localappdata%/NVIDIA Corporation/NvNode/nodejs.json file.
If you have Geforce Experience installed you can now make a simple HTTTP/1.1 GET request on the Adress. If you want more address (there are severals such as hardware info and more) just look into the nvnode.log file inside localappdata.
Address: http://127.0.0.1:PORT/DriverUpdates/v.1.0
with a added header "X_LOCAL_SECURITY_COOKIE: " it will result in a json return that looks like this
{
"checkTime": "2018-11-12T17:41:15Z",
"recommended": 0,
"updates": [{
"name": "GeForce Game Ready Driver",
"nameLocalized": "GeForce Game Ready Driver",
"version": "416.81",
"downloadURL": "https://international-gfe.download.nvidia.com/Windows/416.81/416.81-desktop-win10-64bit-international-whql-g.exe",
"releaseDateTime": "2018-11-08T00:00:00Z",
"isBeta": false
}]
}
Sad thing is that the Server is not avaiable without Geforce Experience. I'm now looking into stripping down the javascript file so the telemetry does not get started and then run the server myself on the pc. With that we should have a cut down version of GFE without the garbage in it.
But if someone has a better idea i'm all ears.
@ElPumpo should be interesting for you cause you also wanted to look into the GFE javascript code
Are there any ambitions adding the TinyNvidiaUpdateChecker to the chocolatey repositories?
It would make the self-updater (#56) less urgent.
When running in Silent Mode from startup, selected Download + Extract doesn't do anything. I believe this is because the prompt asking to user where to place the extracted installer is suppressed by silent mode.
Tested on a laptop with a GTX970m in optimus.
Not sure if this is expected behaviour or not, but on a fresh new windows 7 installation the program will display an error saying "no supported GPUs found". After I installed an outdated nvidia driver, the tool worked just fine (downloaded and installed a new version without geforce experience).
There is an update listed, not available for the used grafics:
image
Related to Nvidia version 391.35 is current for this card, but updater loads everytime above update, without able to install it. Still stays the same.
Stuck "downloading the driver". Not updating at all. Anyone else seeing this? I'm at driver version 397.31 trying to go to 397.64.
On a system without an Nvidia GPU, trying to run TinyNvidiaUpdateChecker with --ignore-missing-gpu and selecting download + extract.
The driver package is downloaded but does not extract anything, just leaving the full installer in the designated folder.
This behavior is both with 1.11.0 and most recent source code (1.12.0)
For the first time the UpdateChecker didn't open the setup but directly installed the new driver including Geforce Experience and a 3D Vision Preview Kit.
Not quite what I expected and wanted to let you know.
Requesting a similar functionality to --force-dl, but instead of downloading without version check, it will only download if an update is needed, in addition to overwriting the directory where it extracts drivers to.
Ran into a problem where integrity failed with a driver download and cleanup of %temp% was required before files downloaded again.
Seems like NVIDIA changed something, I'll look into this when I get home.
Will switch from UI to GUI in v2.0.0, who preferes UI over GUI?
This program does nothing unless you have a internet connection . What if you have to download the driver from another computer , then move it to another machine .
Or during a clean install with no internet connection .
I'm finding that upon the release of new drivers hot fix drivers are released soon after and the Updater checker does not pick up on this . The App needs to check the international site for hot fix or even beta drivers
Add support for when you have the driver already , the program will skip the download and process a local Driver on your drive .
Add a feature , a new GUI with check boxes , to choose what to install , as well as the command line tool
Thanks
I had been planning on using this software with a piece of RMM software that runs programs silently in the background. It would be great to be able to report on out-of-date drivers and automatically update them.
Due to the presence of a dialogue box, however, the program cannot be considered to be running silently and thus cannot be used.
Please consider either making the --quiet switch operate silently or introducing a --silent switch that auto-presumes a Y answer.
Sorry if this is an obvious thing but it would be cool if the program could automatically terminate if no new driver is found (or there is no internet connection) instead of needing the user to close the window. Is this already possible and it's just not on the main readme?
Doesn't seem like either WinRAR or 7-Zip is installed!
The application will determinate
Do you want to disable the minimal install feature and use the traditional way?
I use Bandizip for unzip, it's better than WinRAR or 7-Zip on Windows 10, please support it.
what is going on?
I would like it to perform daily Driver Update Checks in the background, without popping up the command console. It would be nice if there was an option to enable this. I don't want to manually check for updates.
Is that possible? This is one of the few portable programs that require me to download DLLs in addition to the prepackaged program
I need help getting latest version available from the NVIDIA servers as GeForce Experiene does. I've tried to use WireShark but I don't understand anything.
Nor do I have that amount of spare time, and that's why I've been inactive for a while; too much homework.
Anything from a hint to a pull request and I'm grateful.
Currently the GPU driver download is intl. (named 'other' on NVIDIAs website), and not language specific.
When using version 1.13 to update (download + install), the PC restarts without warning at the end of the installation. A prompt before restarting would make sense to give the user time to save her work
The problem occurs when you cancel a download, and it gets left behind in the temp folder. Then the application tries to run it (or extract it if using minimal installer) but the file is incomplete!
Most code done in 777dfde
I don't like the idea of people downloading both a dll and executable for this project.
But still, these libraries help me out a lot. It would be really hard to not use a libary at all, and as you probably notice I don't the idea of using libraries; ecspesally as this project is designed to be portable.
I know of the alternatives Majestic-12
, mshtml
(which is what I might use) or just using the WebBrowser
class (which was my original idea) but that is worst scenario as I expect performance to be worse.
For v1.4.0 I'm focusing on ditching the HTML Aglity Pack completely.
In step 2 of the driver installer: License Agreement, the installer gives the user the option to install either the Graphics Driver WITH Geforce Experience, or WITHOUT.
TinyNvidiaUpdateChecker skips step 2 and selects WITH Geforce Experience by default when Download + Install is selected. This means the only way I can update drivers without installing Geforce Experience is to extract them first then manually run the installer.
This was tested on 2 computers, one with a desktop GTX 1080 and one with a GTX 970m in optimus. Both systems are running up to date Windows 10.
The icon is licensed under the CC BY-NC 3.0. But that license is incompatible to the GPL because of the "non-commercial" aspect (and probably for other reasons too).
According to this FAQ only the CC BY-SA 4.0 license is compatible to only the GPLv3.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.