Closed sirinsidiator closed 4 years ago
Yeah I hear about this basically every version of this package.
Someone should go yell at nvidia to stop releasing new versions without bumping the version number.
My best guess is that the RP stands for repack- indicating that they slightly change some configuration but haven't changed the driver code.
I'll try to see if there's something I can do to programmatically detect when they've done this, but until then you should just update the chocolatey package shortly after I release it, before nvidia messes it up :)
Maybe you could let the setup just try both urls before failing? Would probably cover 99% of it.
No, as the maintainer I am required to provide the checksum of any files before uploading to chocolatey. I can't do that if the file doesn't exist yet.
Ok. Didn't know that. After searching around a bit on how geforce experience determines if a new version is available, I found some PiHole users complaining about it not working until they whitelist gfwsl.geforce.com. Which lead me to this site which contains a few captured requests. I tinkered around a bit and the following URL returns the correct download URL for the most current driver: https://gfwsl.geforce.com/nvidia_web_services/controller.driverinstallercontent.php?com.nvidia.services.DriverInstallerContent.getCurrentHtmlDefault/{%22O%22:%22AMD64/10.0%22,%22P%22:{},%22D%22:{%22VEN_10DE&DEV_1B06%22:%22DISPLAY%22},%22K%22:{},%22L%22:{}}
<!-- methodcalled name='getCurrentHtmlDefault' date='Tuesday 19th March 2019 06:12:55 AM' {"O":"AMD64\/10.0","P":[],"D":{"VEN_10DE&DEV_1B06":"DISPLAY"},"K":[],"L":[]} ResponseStatus='Success 200' --><!--theDeviceId:1B06<br>theLanguageCode:1033<br>theOperatingSystemCode:10.0<br>theOperatingSystemIs64Bit:1<br>theChassis:<br>theCountryCode:<br>theIcafeFlag:<br>isCudaToolkitPackage:<br>hasQuadro:<br>hasTesla:<br>hasGeForce:1<br>MC:xlampgfecc03,xlampgfecc04,xlampgfecc05,xlampgfecc06,xlampgfecc07,xlampgfecc08,xlampgfecc09,xlampgfecc10:11211 --><!-- DownloadId:144363 Name:GeForce Game Ready Driver ParentDownloadId: Release:418 Version:419.3500 DetailsURL:http://www.nvidia.com/Download/driverResults.aspx/144363/en-us DownloadURL:http://us.download.nvidia.com/Windows/419.35/419.35-desktop-win10-64bit-international-whql-rp.exe BannerURL:https://www.nvidia.com/object/eve-std-gtx-1080ti-ultimate-rig-honor-fblive-mar17-banners.html IsBeta:0 DownloadType:1 IsBeta:0 IsWHQL:1 -->
<html><head><response action='open' url='https://www.nvidia.com/object/eve-std-gtx-1080ti-ultimate-rig-honor-fblive-mar17-banners.html?t=D:1B06L:1033O:10.0_1LC:' /></head></html>
Maybe you can use that to check when an update is pushed? "O":"AMD64\/10.0" seems to send the operating system and "D":{"VEN_10DE&DEV_1B06":"DISPLAY"} the device id (as shown in the system information in the nvidia control panel). You'll probably have to update them every now and then in order to still receive the most current information.
I pushed an update that just checks for the existence of the url with -rp
.
Probably fine? We'll see how this goes.
Ugh I'm stupid. My solution produced an update every time the updater ran. Removing this...
Would it work if you only appended "-rp" or ".1" to the version instead of the date? The only other way I can think of is to compare the previous checksum to determine if there has been an update and increment a custom version suffix in that case.
The thing I'm struggling with is now I need to also scrape the chocolatey package page to get this information, which I don't want to do.
Seems like they stopped doing this, no one else has complained in a while? Let me know if it happens again.
Tried to install the package, but it fails with the following error:
ERROR: The remote file either doesn't exist, is unauthorized, or is forbidden for url 'https://us.download.nvidia.com/Windows/419.35/419.35-desktop-win10-64bit-international-whql.exe'. Exception calling "GetResponse" with "0" argument(s): "The remote server returned an error: (404) Not Found."
Seems the url should be https://us.download.nvidia.com/Windows/419.35/419.35-desktop-win10-64bit-international-whql-rp.exe instead.