Downloads:
262
Downloads of v 2.5.2:
28
Last Update:
19 Dec 2024
Package Maintainer(s):
Software Author(s):
- Deco
Tags:
dlss nvidia gaming update-tool- Software Specific:
- Software Site
- Software License
- Package Specific:
- Package Source
- Package outdated?
- Package broken?
- Contact Maintainers
- Contact Site Admins
- Software Vendor?
- Report Abuse
- Download
DLSS Updater
- 1
- 2
- 3
2.5.2 | Updated: 19 Dec 2024
- Software Specific:
- Software Site
- Software License
- Package Specific:
- Package Source
- Package outdated?
- Package broken?
- Contact Maintainers
- Contact Site Admins
- Software Vendor?
- Report Abuse
- Download
Downloads:
262
Downloads of v 2.5.2:
28
Maintainer(s):
Software Author(s):
- Deco
DLSS Updater 2.5.2
Legal Disclaimer: Neither this package nor Chocolatey Software, Inc. are affiliated with or endorsed by Deco. The inclusion of Deco trademark(s), if any, upon this webpage is solely to identify Deco goods or services and not for commercial purposes.
- 1
- 2
- 3
Some Checks Have Failed or Are Not Yet Complete
Not All Tests Have Passed
Deployment Method: Individual Install, Upgrade, & Uninstall
To install DLSS Updater, run the following command from the command line or from PowerShell:
To upgrade DLSS Updater, run the following command from the command line or from PowerShell:
To uninstall DLSS Updater, run the following command from the command line or from PowerShell:
Deployment Method:
This applies to both open source and commercial editions of Chocolatey.
1. Enter Your Internal Repository Url
(this should look similar to https://community.chocolatey.org/api/v2/)
2. Setup Your Environment
1. Ensure you are set for organizational deployment
Please see the organizational deployment guide
2. Get the package into your environment
Option 1: Cached Package (Unreliable, Requires Internet - Same As Community)-
Open Source or Commercial:
- Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
- You can also just download the package and push it to a repository Download
-
Open Source
-
Download the package:
Download - Follow manual internalization instructions
-
-
Package Internalizer (C4B)
-
Run: (additional options)
choco download dlss-updater --internalize --source=https://community.chocolatey.org/api/v2/
-
For package and dependencies run:
choco push --source="'INTERNAL REPO URL'"
- Automate package internalization
-
Run: (additional options)
3. Copy Your Script
choco upgrade dlss-updater -y --source="'INTERNAL REPO URL'" [other options]
See options you can pass to upgrade.
See best practices for scripting.
Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.
If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:
choco upgrade dlss-updater -y --source="'INTERNAL REPO URL'"
$exitCode = $LASTEXITCODE
Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
Exit 0
}
Exit $exitCode
- name: Install dlss-updater
win_chocolatey:
name: dlss-updater
version: '2.5.2'
source: INTERNAL REPO URL
state: present
See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.
chocolatey_package 'dlss-updater' do
action :install
source 'INTERNAL REPO URL'
version '2.5.2'
end
See docs at https://docs.chef.io/resource_chocolatey_package.html.
cChocoPackageInstaller dlss-updater
{
Name = "dlss-updater"
Version = "2.5.2"
Source = "INTERNAL REPO URL"
}
Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.
package { 'dlss-updater':
ensure => '2.5.2',
provider => 'chocolatey',
source => 'INTERNAL REPO URL',
}
Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.
4. If applicable - Chocolatey configuration/installation
See infrastructure management matrix for Chocolatey configuration elements and examples.
This package was approved by moderator mkevenaar on 22 Dec 2024.
DLSS Updater is a utility that automatically updates DLSS (Deep Learning Super Sampling) DLLs for games across multiple platforms including Steam, EA Play, Ubisoft, Epic Games, GOG, and Battle.net. It simplifies the process of keeping your games up-to-date with the latest DLSS improvements. Note that this package does not contain malware, it is a limitation of Pyinstaller with the binary not being signed, please see https://github.com/pyinstaller/pyinstaller/issues/6754#issuecomment-1100821249 for more details.
md5: 17CA8D4CB19718DBBCDE59A546D762A1 | sha1: 5828A92802BF6FF8EDB49B4D677F5215D5E9DA8B | sha256: 4F42DD8B5CD8F39676EB9926FD6939D8E574515AD6BEEB4071F47AFF20D95411 | sha512: 7508E3B1EECD837E1E0AB42BBA4953147D073F5DA5248E224538750EDF35332CE6CDDCBBDAFA6C3664AA0DAD1B82E8457457A0CDE5D6DA6BC86D7AE57640C527
VERIFICATION
Verification is intended to assist the Chocolatey moderators and community
in verifying that this package's contents are trustworthy.
This package is published by the DLSS Updater Project itself. The binaries are
identical to those published in the GitHub releases section.
Project URL: https://github.com/Recol/DLSS-Updater
Releases: https://github.com/Recol/DLSS-Updater/releases
To verify the binaries:
1. Download the official release from the GitHub releases page
2. Generate a checksum using Get-FileHash in PowerShell
Get-FileHash DLSS_Updater.exe -Algorithm SHA256
3. Compare the checksum with the one provided in the release notes or in this file
Alternatively, you can use the verification methods provided by GitHub to ensure
the release you're downloading matches the source code at the tagged commit.
Note: This file will be updated with each release to include the specific
checksum for the current version. Always refer to the VERIFICATION.txt
included in the package for the most up-to-date verification information.
Checksum (SHA256) for DLSS_Updater.exe: 4F42DD8B5CD8F39676EB9926FD6939D8E574515AD6BEEB4071F47AFF20D95411
md5: 854560AB49893FC0EB1C3D2ADE1E11FB | sha1: 5B131B6154D0C56ABFB5EAD12BBB5E82E3F2CCC8 | sha256: 79E4EDF3FF63A7B1B279DC6352594F4512E0789A3D5E80CD4A34A68129DF4161 | sha512: F641C944D05B849652715D95FEA2E4431056D0AABA00D28E7D1502C522E66799D1CF277C3442446D940F6FA1A285BB0F2999085D1DCC660BB730AFF37DE2BB79
md5: F51A025B8C1A2146847DF21CB0B4136A | sha1: 45DC4A50C0C2A9B32DDAC679D705E7501D95E8E1 | sha256: 9600F43772639BA115FC7F45B1EDD775B31BBCB7202FA87C78490383DAA7030C | sha512: 3CD225F2CE1B91B7DC4C27E144CC97A36F997C0A0259395EB9EA9F57471FBA589855B810B5D5326FDCCD5C9E9CF06D889B758E374D389CBDCBD89601B17DE545
md5: E1DFEB517A691FD91247CFBE4349B41D | sha1: 5263D1F6D103DDF18A0590B41FFC582D61F4362B | sha256: 43533C66AE70709723E12BC80F047644D68B0282ABC76B4C952461EE8554C8E2 | sha512: F5271BC1B8BD387A46F0FF5103D4C468C0B458D2F1DC0CBACE0F7A568EBD0B9C8D0414D961118687CE1A7876E28D82ED531CCA95DD1661F208FDFDD4223FEADB
md5: B7EA2415828AB7E8234EE71CC1274312 | sha1: D053DF9B9CC701978D159E48A9F5422A275220C9 | sha256: BE358D7F9A80C56125C872D98469D470C962EB89A87FE7C3EEB2813AB691F162 | sha512: AF26B547F31080E359002B1A1FA71D76A2BD4771B1C5AA9584D8B0D64911D889A8AF8BD46D80FC36A9AD2F5E04881ED0A640C8AAB7F0A1D729B5032D84B98664
md5: 401B34BE80C11C38783E1DDB47799779 | sha1: 0AD8F38BBBD41CEB5CAA6E2B44D308FA4707CF1D | sha256: 772372F20239899FB25D1A72E0210D729A9AC9CCE8E036922592405BCDD9D287 | sha512: BC596988318D2877DBE52AAAC19470E61F441F61620EC6D72B8025B427D7772AFE802BFE1DFB83A29A8A9F1BF79F22812DD4688253037FB1C5D0139381AB92F9
md5: 8F12F2B949081422329527DE9F752C52 | sha1: E69A417535258F9D7CBB762171D76D218F58F6AA | sha256: 8FCAE6D9A2A43FAAFB9B78D22CCE9CD2B4589952A81F713CF26E6DCA0C198C6C | sha512: A985086B592363103B786E57E623945F316B34E10A34D12FA47E385DB0C999B8F143FC7D8DB19220A1FE2D7E1AA63FBEFC4052D95D7311357C6CA234CC360F42
md5: 13B7840BDD7312959FD2F134CAF81B04 | sha1: 85E9D1981596F8D8F1584F89FF7243B02CB91787 | sha256: 57A24B7D585BA98AB0DFF395C62525F10F498BF0BE4871ADC8C805B997D7368A | sha512: 2C9573413D842A0956F914AAEEF25280F6AFA145B30E79E40B1CAAA62B482C26438283AFC08BAD568D500AC98E009AA85290F0B9DB0C226829E9A8D9CA10617B
md5: D2F264B9F61BBBEA858CCA1F1A85FFF4 | sha1: 98903EA36BC421969360018EE953D5E293C8651E | sha256: 00AF59B43E70769D1CB516FF9A83A6E11D27D44889B18B498D10E2E5EB2846FA | sha512: A5B0056FCE6E6B40EA95FF5DF451C91864A963DB3A97781729C9816BA72C1BEA92EB1AC9AD7BE33F79FC9299CD10BFC5B074B7BDC0DD049F40019BBEDD1B3916
md5: 9C4AA976FBBA6EE469DB69F3268E0EE0 | sha1: FBC510424960D4D6CA8959AB8A79ED7E0106D894 | sha256: B8EE3713B2FAC086263084EB76C91906F1773EBE427ED012CC5AC77CFA506BFE | sha512: D134D8B876507616D7B6D97421014D61D04AD82785CBBF7F9DFB44D1E3361410B4590613A2D7D4F4683533FFAF099B88FDF505F1B8C578FD933394187DD17388
md5: 2F9076385FCE7A50D921C2C04CE82357 | sha1: 19D86416DFB12B3FD03DBF5DD23ACBD7ABA39E98 | sha256: 0069D044789AE935144AB20AFA81947E523F7879E72781C6352060F182F16C22 | sha512: ACA0F1CEA0737967760D2E1D967CECB8CDDA36D6CC729064643CD662313C626CCE546210D6F12F653248AA5D6B9991A1BD64D0785257369CECAE3DE1AE67734E
md5: 7893D219F6BDA4BEAFE1937FFC026386 | sha1: 6A80B511FEF91031F707266DD358AFD5D624737D | sha256: 95767FD45416F86B2A16BF50E971F39A9F64A680F6CDF1D6BDA9C64E633FFF6C | sha512: 24A3617E3B2FC2810D06A92813591E1C5F475C47648971D9D158120D96A9504D5EA3FB24F6AE2A9770A0034EFCA374FD1F1A8E0C944A32D201CB617BDA01B096
md5: E8745CE7467509E4B59522DE48EEF43E | sha1: 9A1058A7124D87FD6EA02442C1BA5D68F86A86A6 | sha256: 6E65A8482E9867A16F9E6398335139500C6D5E2F56A232FDD33F7F46541488BE | sha512: 97F5451494B1969806C010DD552A79556960D9B095CB245DA83554A53B004885111CC39A53F0466EFDB0E5F1F69B2990D19CE126F529E5F79A0DD0AD2E7EE672
md5: B4A768285A5F30DB0FEC2114714D4CE0 | sha1: FD6DFC23C36D09123AF87075C5130BA87E2FD81B | sha256: 569618315C6B659BC5FB0799A0A2480371425570E7F195395B5159BA12257EFA | sha512: 2B45ABCC9EDF1A712D9F5C291A992FA198472D679A66EEDD211DB22836051DAE1FEB6235FF839F4B7A3365D3B010EB6E7AEF369D4D404CF1B9043867923E4347
md5: 3205ABC6AFC72E7D9D78D6BB736068CB | sha1: F14C3809E15DC1A39BA4B815D8B2784C3B451464 | sha256: 6614E8C94F8D2E48417EE9EC2155DFC2D8DD7BD6B78C89617ACE90CB851114D2 | sha512: 1C9C61157D745A6948C941371F1C0CE3DB32CEFEA8F9FD5797628D6C461650F765C3EDEDE13F337F04C8317EA256AC06D7520EDBE9FBED1F777455B4CF0BE909
md5: E1877632019BB32967C40767AFF863B6 | sha1: 2268935F0C872FEED067C3C17C70E5092CE301A1 | sha256: D1ECD2C21DF1D7B130BA0F1A1D99FB8866727BFFB3862883618A2CF545659DF8 | sha512: 98E620CE28B776DC6D2B39FA043B1E96555F641263E7254510587DFAD9EBFBDDEF0558756035657BA10C7B800B72A322589725FFCCCCC4EC5847D20E7A74023F
md5: 740DD1CB6EC07DF5E43A2CBE3B66DD80 | sha1: E39493FD219C57F50D47119E94AEE7C8BBC3863B | sha256: 03A723BCBCC88604015B66C85589AFB5FD0A9F0E3F012160DCCA5F4AC0762B49 | sha512: 620F7743FE187B455C94177BE4FE133500F94566E79402F60B0ECC7AD11BF3350E6425839692E0C7C5A4F5159DF64C240314F1EDB7496BDE48B5590E43D0564D
md5: 9E4398814CE476F2554DC43EDB07DDBB | sha1: DB1C663354D219F9E95E4CA1B604CB77237716CD | sha256: 3C6ECC4E2284B19B8E0E673318FF9CC29F45041B2A0EA2705A8A8048D9276BA0 | sha512: BB7DB2BA4DC62B3497F36F2E58FF122665A76AB94AFFC6EE2E5E491052D8EBF389773CFCFBE262A4D00539EFABFA983BB68EEB8D70BD8E14F69093FE882BB81E
md5: 0055F1424D58A9AFE0D3362BC27DC2E3 | sha1: 568343A6830CDC9C74F9C0FC4743A35B086C53A5 | sha256: 541BAC07D88E28DDAEF0A0392EF3EBFD513A161D0923A9F361671C54F362D341 | sha512: 1D43913D9525D9B8C3C46DBAF57BF26EF251A377B000B4F3DF09226F6B529971069D4199B69206C6839925E4D02C5729C046C49A3D77E0E5165B6EDDD2AADE96
md5: 17D9AC28553C5404D110BCDB6FAE4D90 | sha1: EA7B17476BE37D30EE2D7DCC818161FAE3157947 | sha256: E714FFDE0C79FAFE8067C86BCDF4EBB522AF00F741F655B074F46518557FF149 | sha512: 447660319AD9CB652C712C9ACDA67E9378F2D2DC5695A44DC24BC13E6B1359F97C86742FC3EA9649A9C0C9A105800E7F50F5C0D34984692DE95CA2D69E3D50CA
md5: 774DE3D2577B4F6E50CC9CBE01069D03 | sha1: 8CBD24E84DCCB39630FD327744AB98DBA22489C9 | sha256: 94A70E7CD72242E29E0D0ECA78A2474AA1CC5CD529E29DCC62F680A61D47D6A6 | sha512: F89CE01766882082467EFC18BD9D236D7F3F56EE09E287D41413FF870A0B81135BEFD896F3B26FBC6D214BE795C0C06611B9B3BA9546FE1802C2C9E1FC5E27ED
md5: CF1C69D66B674DA34801FA8791CCAA5F | sha1: EEA39A5948F576D319846606E8A23FDBD17D4547 | sha256: 9EAA28A9F953E852739B70703EF804F36DB33EE0CED4A37322F5DB656B1C42B9 | sha512: 4DCCB8582052C60ECF0D0BB3C70C0FB6963A4F9890DBB319010F10AE0C7D543EBCE6D8CE9B05FFDE38D1AB2ED37B2008ABF2812874724615CC02115B3A861AA7
md5: 0986D5C7A8D89000C279B99843686783 | sha1: C7B5347C0B0A4800CAE0E2C37F96900213D60CA0 | sha256: EB8CE6EF361CB823257C9C837D046E7048C2C1FE52A25A12C5FDDB0034CF9FCE | sha512: 43A1F154AEB3C13D4C8C4C2E182BCCD7CAE8CB4643B86C480B2C9D9914E38057D13806BC406F38A00686CD0B8BE66BFF8FB4102AD1F728F079EDA998D57DCFB1
md5: 20291E55EB1C1866A3EAF252416DF69B | sha1: AA9D246B2EE7401BCB4746A71404EA0BF483029A | sha256: 634F1E2EEC066FE2F74A25F507CA37D1D979B982CF944975D1488E0435B86AD2 | sha512: 3406D33B48CA997A895D7A3EB6EF9DA8DBDC2B89D517409A9475B80EC95D18E274D4314A164CC306960CBBC848653D79F6E4B13425208E2B790CCCA5154236B6
md5: BCE65FACD640D4B35ADB187DC1BE7180 | sha1: DFA96ADC02501F9CC0F88BA16441C47225477E34 | sha256: 50C78541FD07BC271B49259BF4D56E8885461371BF0852DD75E99E824BD4E754 | sha512: 8BF30C64D708835C246A44F5640805EA60D2577F472F6D0C56DDF66C10A33D8E0488E79B0A53C60BEFC5C0A583734220BF957FB66DD4D181320D8589D65A576E
md5: 447AC6ACDE90CD2EE991885103E10742 | sha1: E674908B19BDC62EA02F3D53C2A7A5D05990D774 | sha256: 359C5D1221CFAB34B70D4F55E178CCD93F54A6DE3DA39C7472D67E7E330E300E | sha512: 59F429B5BC95F67B0192CC70209AA79B2001694778E84241582D9E3A20D065B087428ABA52EB4246E13755CE0D56DF20CE6FBA465CDE3F96D05ECBF486162B53
md5: ABCBE7F6DCCEEA80952092957F797A80 | sha1: 0543160EA20803E535ABC83064C86C1AEFB19556 | sha256: 154B5470E4E265AD29248A571686F6AAFCCEF9A8B2435A8633A70328C10BB371 | sha512: 2DF2A33C67BDB657F8BD1D4D01C6FFB93A82D998DDF034156DC57DB6CD45C72CAD6B1E18403C3EEF2FEC74F6094FB6EB6FF4E2643BAA03E122CB9C2F5EEBEEEC
md5: 7368E728C3648ED5A0F2582BD27EB583 | sha1: 4A92D740358468502D23BB18B463FC293D388D47 | sha256: 6D2A9C5745238EB4FC922652C72542703CFFF79A20DA2ABF18DC4A77618D75D7 | sha512: FC42442A3DEE5EBBCC4355C6498BBFEF9531CB427662DA929EF82A83A7667CA4B4976B0C688FC5D01DABEBFBDAD028C4D8EB04749DC9A6DE83D892A6377F9A6A
md5: EB7F8FE591DA1E09DE7594CC02772003 | sha1: 7D2F19EAAEA6CFDBC46BC302ED5ED2231CADC837 | sha256: F1061607D0DFE38C2585F22CEB326154C2CB1AC37761DF75E186F2D5D11B42B6 | sha512: 75B76CFE3899E45F9A0DCA67DC099531700CCEB06FD9CE209F641AF190C4CD6B96AF110E8C816E44BD194A8C109A1E85160A94DA633C49104A392EDB5BFE8E65
md5: D7B9B90357F4A2653ABB303BB78668DA | sha1: 52D4EAB0B938BB977EE8BF160844AC94C297FDC2 | sha256: AC72CD7713DA51EDF0B57616ED57326286A4F85DE8C1443EF60379DB9E3887F5 | sha512: BC034BED3A82F1A47207D02DDCE9F232F82110FB1A2B12EC1EBD468AF4A64E7DC547AA06ADADBD3993320FF5EDB0BE357CC7B4396160433E0ED5EDFF42D53B20
md5: 4B511048C52E62714D4AE8BF4D686DB7 | sha1: 2FFE23C3494E1930BB8BA9DC85BA7AFD50458A79 | sha256: 81CC477B01B8A2EB82E0EE21E9113604006A97281A95091823839335661569E6 | sha512: 328877E54FE0EF1A4A4AFFDEB11E19A064974ED28693C6DB9869025957F24AE2000FF39D1D1E03F804E2FB52323BBD3EF15BE4F99F0F1196A58F85FD4875A1EE
md5: BFBACEB27C68C53FD04488BB46AFE11E | sha1: 610F0CBDF9994B818FD518A99F559913370773D2 | sha256: F16030942224F62B1BC3D5EDA63AF0C07C12E9AF60F4EF5A29A84E9706CB3E23 | sha512: 12BDBC7F6631B02350FF0C519BA2BF14CC75C624485C67BCFA1AEF3D2DDFF4ACC6D17EDFDEBBBBD20BA95F14342F7874D8345567FC2478554FAAB03534C8EC68
md5: CBE0B9FBB04ADAFB76CC0D50BA1B2D1A | sha1: 40C0D5674248949A0128949C12443A72957D2CA8 | sha256: 34E9A4FFE038E13BCADBEC9A783896B3A67988B42D6353CE70D8987A0BF5E888 | sha512: BE1186E5C2AAA3A9E23E8D3F14FDF332FBBB292C81FCD75208D990FFB5D173D9ADBA41F49814DE1AB275388B228C9AC5D1EB72FD5AFCD35B39B1DD3CCA959464
md5: 15DA941B5AD1BDDF76B8F09F359AA1B6 | sha1: EA95E65EDB63AA2A6FE4BB365EA3F3BC995A4DF3 | sha256: 4F5FAF054747FD8D9A202B31BB8F687FD369C47F82AD5860DCBF7A58D2CF924F | sha512: F4936BE1EA8ABF6B89B7C26DB6C48ABBE4498A48B32382EBE74D5DFA6AC34D3B8CF6FFDCABBFE3403F3ABB19ABEC4486C39F52838CDD85BB04E8CD8E049A566F
md5: DB4FEA844F77012D7DB0D0923AACBBAD | sha1: 8A8A99B1F392A02AAB29EF35E8207DB3C47E930C | sha256: 0F885499CC169A02E409445D5307FCE784295F165DCB6A8E178733C789D4526A | sha512: DE5851C4043F6BF00D9EF1B30BB9DEFD4AB70FFE62605B0D602F364A2DBACF86C2DFE9C43D60BCDA57F0254E358644518D67C9133DE0D49FD795E3D4912924B8
md5: 8AB373179221F08C7A7F44CADAC328CA | sha1: F06818BF5CDA974D3D99456B13921B22C6470B8D | sha256: 0DFE9BE5FEF238A9EBA4D4F03B5989389373CC8D82B03D2C34D17800655BFABF | sha512: 90591B6E4A43FC8790D4F9063E5FCA2BA8076082E3A1EB00DCFF37DA1EAFF62A209699EDA000B079C2EF0EBCEAF1231CEC197800CEAD99A5912DD4AAFDF2F3C9
md5: 5387082EFCDD2E6C6BE7ED8A88E03005 | sha1: 7078D27B3F64E49FCF2B70DA4B904A10BC14C473 | sha256: 5A4D354626564C6CDC7D28475B6342CF79025E9E4DF0F4B43DD835BEEA42A548 | sha512: 82446BBDD1B6C1459E0A034C1C031B817794B94A67FC093D63D8A644C66A9B7039AB8CBDF5383198BE66388CF91FDBBB47A9521658EAF83783970B7C2803B305
md5: 8B22CA474685E79ABA401635419F69A4 | sha1: F6BD165297FDCE1324FFC001111D3DD18FB115CE | sha256: D95C89D8F1DCBCADB3CCC28877B66BE769A4351D4E0173F4A192128EE3D7DD51 | sha512: 6FA3A5CA83A6349B6F3C5DC31426E171816AFE1D49D4DA5E06ED20D31CEA62374D40B7E66A5929F24777DC2B107DADE2D4F6AA1D5E0BA0174C51E903A98166C9
md5: 820662FEF00AF503E207218ECD67765E | sha1: FC30F9477BE473EE9F9A59A4A19BC93A835A04AA | sha256: 1A460B02EBD56AC03F5117BF3CAB74B3C83845B454881745C71818AFE55286E3 | sha512: 0C9E0BC655FE102C6F1E2AF24C38B3EBBA6284F6C21E5352304408822F3B0785530A8A97FA30850483CB05B3443EFAAB0D19E637C576497852AA094576E7EA1F
md5: 2428B2DC3EF3F8E811BB0F425794C33C | sha1: F5ADF8A7E069B6331CF31DCBE105F5BB11D2BA09 | sha256: 5723612D49C760AD13CADC7857B417145406D55D0011ED55E2894F4B3BC7D4E3 | sha512: 06C30ED1FF841CCA96A18FACF2FB337066642364B2A4799301E01E022ECF110BC6FE015D8C4DA9275238DCC034FBE3B034ECC9552BA229DBDA7BA2111E22AADE
md5: 5847CF91E8DF22423AF0F194FBC1C8AC | sha1: 1F349445DCFBE959EC44FCC2E487FC63D249F988 | sha256: 6AF625152090F685F05AD2B03F0739296D13A09C56A91A8F08461C6A22309D43 | sha512: 81EA5AEFD5B64E206B1A671FE1A22D908AD55A6DB5894018BD779A3F4F73E8358070B8DDB27B7C534F965238E364AF60C6E92B73AE07E19445822A947CFAF89B
md5: 111DF391E83DC74F0A66C11817ABAA6A | sha1: 7BDEAC1CDD5B06FAAF20D113A239C4FFE73D2610 | sha256: EDC8849CFB5BC3D946FB0C4B86A7788A2A04D113C44E5773243C0ABF7DCA543F | sha512: 5ACAA477B10BDDC4CAEA85C0D725832124765A044E8416ADA66161278E9DDF293CA8D4AC8DCDC6622A6920B9DB7E6A62D306B7FB67DCAD1CBC9BA37F32A6BD36
md5: A26EE6BD274CB850636742F9A5879193 | sha1: 154FAC323F50A8CF0FA730AFA1D3A58F4B06126A | sha256: BDFEABCBFE6F9E5305F2B39F14E6819E725FEAABA14A9372DDADB9408F99757F | sha512: 845E4A06D4E7E08EA13DB32AD619D9B4726E8A62F8D52D261816F917D3C78DCB76297979FD0C6B446ADDCC93B5D48D499CD4C5734E4BC325166F42A8F18F7400
md5: 0CB8186855E5A17427AA0F2D16E491A9 | sha1: 8E370A2A864079366D329377BEC1A9BBC54B185C | sha256: 13E24B36C20B3DA9914C67B61614B262F3FC1CA7B2EE205DED41ACC57865BFEF | sha512: 855FF87E74E4BD4719DB5B17E577E5AE6CA5EEDD539B379625B28BCCDF417F15651A3BACF06D6188C3FCAAC5814DEE753BF058F59F73C7050A0716AA7E718168
import os
import sys
import json
import shutil
import zipfile
import subprocess
import time
from urllib import request
from urllib.error import URLError
from packaging import version
from dlss_updater.version import __version__
from dlss_updater.logger import setup_logger
logger = setup_logger()
GITHUB_API_URL = "https://api.github.com/repos/Recol/DLSS-Updater/releases/latest"
def auto_update():
logger.info("Checking for updates...")
latest_version, download_url = check_for_updates()
if latest_version:
logger.info("New version available: %s", latest_version)
user_input = input(
"Do you want to download and install the update? (y/n): "
).lower()
if user_input == "y":
logger.info("Downloading update...")
new_exe_path = download_update(download_url)
if new_exe_path:
logger.info("Update downloaded successfully.")
logger.info(
"The application will now close and update. It will restart automatically."
)
perform_update(new_exe_path)
return True
else:
logger.info("No updates available. You have the latest version.")
return False
def check_for_updates():
try:
with request.urlopen(GITHUB_API_URL) as response:
latest_release = json.loads(response.read().decode())
latest_version = latest_release["tag_name"].lstrip("V")
if version.parse(latest_version) > version.parse(__version__):
return latest_version, latest_release["assets"][0]["browser_download_url"]
else:
return None, None
except URLError as e:
logger.error(f"Error checking for updates: {e}")
return None, None
def download_update(download_url):
try:
update_dir = os.path.join(os.path.dirname(sys.executable), "update")
os.makedirs(update_dir, exist_ok=True)
update_zip = os.path.join(update_dir, "update.zip")
request.urlretrieve(download_url, update_zip)
with zipfile.ZipFile(update_zip, "r") as zip_ref:
zip_ref.extractall(update_dir)
os.remove(update_zip)
# Look for the new executable in the update directory
new_exe = None
for root, dirs, files in os.walk(update_dir):
for file in files:
if file.lower() == "dlss_updater.exe":
new_exe = os.path.join(root, file)
break
if new_exe:
break
if new_exe:
logger.info(f"Found new executable: {new_exe}")
return new_exe
else:
logger.error("Error: New executable not found in the update package.")
return None
except Exception as e:
logger.error(f"Error downloading update: {e}")
if os.path.exists(update_dir):
shutil.rmtree(update_dir)
return None
def update_script(current_exe, new_exe):
# Wait for the original process to exit
time.sleep(2)
try:
# Replace the old executable with the new one
os.remove(current_exe)
shutil.move(new_exe, current_exe)
# Clean up the update directory
update_dir = os.path.dirname(new_exe)
shutil.rmtree(update_dir)
# Start the updated executable
subprocess.Popen([current_exe], creationflags=subprocess.CREATE_NEW_CONSOLE)
# Log the update completion
with open(os.path.join(os.path.dirname(current_exe), "update_log.txt"), "w") as f:
f.write(f"Update completed at {time.ctime()}. New executable started.")
except Exception as e:
# Log the error
with open(os.path.join(os.path.dirname(current_exe), "update_error_log.txt"), "w") as f:
f.write(f"Error during update process at {time.ctime()}: {str(e)}")
def perform_update(new_exe_path):
current_exe = sys.executable
# Start the update process
subprocess.Popen(
[sys.executable, __file__, "update", current_exe, new_exe_path],
creationflags=subprocess.CREATE_NO_WINDOW,
)
# Exit the current process
sys.exit(0)
if __name__ == "__main__":
if len(sys.argv) > 1 and sys.argv[1] == "update":
update_script(sys.argv[2], sys.argv[3])
[LauncherPaths]
steampath =
eapath =
epicpath =
gogpath =
ubisoftpath =
battledotnetpath =
import os
import sys
import configparser
from enum import StrEnum
import appdirs
from .logger import setup_logger
logger = setup_logger()
def get_config_path():
"""Get the path for storing configuration files"""
app_name = "DLSS-Updater"
app_author = "Recol"
config_dir = appdirs.user_config_dir(app_name, app_author)
os.makedirs(config_dir, exist_ok=True)
return os.path.join(config_dir, "config.ini")
def resource_path(relative_path):
"""Get absolute path to resource, works for dev and for PyInstaller"""
try:
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
LATEST_DLL_VERSIONS = {
"nvngx_dlss.dll": "3.17.20.0",
"nvngx_dlssg.dll": "3.8.1.0",
"nvngx_dlssd.dll": "3.17.10.0",
}
LATEST_DLL_PATHS = {
"nvngx_dlss.dll": resource_path(os.path.join("latest_dll", "nvngx_dlss.dll")),
"nvngx_dlssg.dll": resource_path(os.path.join("latest_dll", "nvngx_dlssg.dll")),
"nvngx_dlssd.dll": resource_path(os.path.join("latest_dll", "nvngx_dlssd.dll")),
}
class LauncherPathName(StrEnum):
STEAM = "SteamPath"
EA = "EAPath"
EPIC = "EpicPath"
GOG = "GOGPath"
UBISOFT = "UbisoftPath"
BATTLENET = "BattleDotNetPath"
class ConfigManager(configparser.ConfigParser):
_instance = None
def __new__(cls, *args, **kwargs):
if cls._instance is None:
cls._instance = super(ConfigManager, cls).__new__(cls)
return cls._instance
def __init__(self):
if not hasattr(self, "initialized"):
super().__init__()
self.logger = setup_logger()
self.config_path = get_config_path()
self.read(self.config_path)
if not self.has_section("LauncherPaths"):
self.add_section("LauncherPaths")
self["LauncherPaths"].update(
{
LauncherPathName.STEAM: "",
LauncherPathName.EA: "",
LauncherPathName.EPIC: "",
LauncherPathName.GOG: "",
LauncherPathName.UBISOFT: "",
LauncherPathName.BATTLENET: "",
}
)
self.save()
self.initialized = True
def update_launcher_path(
self, path_to_update: LauncherPathName, new_launcher_path: str
):
self.logger.debug(f"Attempting to update path for {path_to_update}.")
self["LauncherPaths"][path_to_update] = new_launcher_path
self.save()
self.logger.debug(f"Updated path for {path_to_update}.")
def check_path_value(self, path_to_check: LauncherPathName) -> str:
return self["LauncherPaths"].get(path_to_check, "")
def save(self):
"""Save configuration to disk"""
with open(self.config_path, "w") as configfile:
self.write(configfile)
config_manager = ConfigManager()
DLL_TYPE_MAP = {
"nvngx_dlss.dll": "DLSS DLL",
"nvngx_dlssg.dll": "DLSS Frame Generation DLL",
"nvngx_dlssd.dll": "DLSS Ray Reconstruction DLL",
}
import logging
import sys
from pathlib import Path
class QLogger(logging.Handler):
"""Logger handler for the Qt GUI"""
def __init__(self, text_browser):
super().__init__()
self.text_browser = text_browser
def emit(self, record):
msg = self.format(record)
self.text_browser.append(msg)
def setup_logger(log_file_name="dlss_updater.log"):
"""
Setups the initial logger.
param: log_file_name: filename to be used for the logfile.
return: logger instance created.
"""
logger = logging.getLogger("DLSSUpdater")
# Check if the logger has already been configured
if not logger.handlers:
logger.setLevel(logging.DEBUG)
log_file_path = (
Path(sys.executable).parent / log_file_name
if getattr(sys, "frozen", False)
else Path(__file__).parent / log_file_name
)
# Create handlers
console_handler = logging.StreamHandler(sys.stdout)
file_handler = logging.FileHandler(log_file_path, encoding="utf-8")
# Create formatter and add it to handlers
log_format = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
console_handler.setFormatter(log_format)
file_handler.setFormatter(log_format)
# Add handlers to the logger
logger.addHandler(console_handler)
logger.addHandler(file_handler)
# Prevent propagation to avoid duplicate logs
logger.propagate = False
return logger
def add_qt_handler(logger_to_extend, text_browser):
"""Add a QTextBrowser handler to an existing logger instance."""
text_browser_handler = QLogger(text_browser)
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
text_browser_handler.setFormatter(formatter)
logger_to_extend.addHandler(text_browser_handler)
# Usage example
if __name__ == "__main__":
logger = setup_logger()
logger.info("This is a test log message")
logger.info("This is a test logger.info message with an argument: %s", "test arg")
import os
from pathlib import Path
from .config import LauncherPathName, config_manager
from .whitelist import is_whitelisted
import asyncio
from dlss_updater.logger import setup_logger
import sys
logger = setup_logger()
def get_steam_install_path():
try:
if config_manager.check_path_value(LauncherPathName.STEAM):
path = config_manager.check_path_value(LauncherPathName.STEAM)
# Remove \steamapps\common if it exists
path = path.replace("\\steamapps\\common", "")
logger.debug(f"Using configured Steam path: {path}")
return path
import winreg
key = winreg.OpenKey(
winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\WOW6432Node\Valve\Steam"
)
value, _ = winreg.QueryValueEx(key, "InstallPath")
config_manager.update_launcher_path(LauncherPathName.STEAM, str(value))
return value
except (FileNotFoundError, ImportError) as e:
logger.debug(f"Could not find Steam install path: {e}")
return None
def get_steam_libraries(steam_path):
logger.debug(f"Looking for Steam libraries in: {steam_path}")
library_folders_path = Path(steam_path) / "steamapps" / "libraryfolders.vdf"
logger.debug(f"Checking libraryfolders.vdf at: {library_folders_path}")
if not library_folders_path.exists():
default_path = Path(steam_path) / "steamapps" / "common"
logger.debug(
f"libraryfolders.vdf not found, using default path: {default_path}"
)
return [default_path]
libraries = []
with library_folders_path.open("r", encoding="utf-8") as file:
lines = file.readlines()
for line in lines:
if "path" in line:
path = line.split('"')[3]
library_path = Path(path) / "steamapps" / "common"
logger.debug(f"Found Steam library: {library_path}")
libraries.append(library_path)
logger.debug(f"Found total Steam libraries: {len(libraries)}")
for lib in libraries:
logger.debug(f"Steam library path: {lib}")
return libraries
async def find_dlss_dlls(library_paths, launcher_name):
dll_names = ["nvngx_dlss.dll", "nvngx_dlssg.dll", "nvngx_dlssd.dll"]
dll_paths = []
logger.debug(f"Searching for DLLs in {launcher_name}")
for library_path in library_paths:
logger.debug(f"Scanning directory: {library_path}")
try:
for root, _, files in os.walk(library_path):
for dll_name in dll_names:
if dll_name.lower() in [f.lower() for f in files]:
dll_path = os.path.join(root, dll_name)
logger.debug(f"Found DLL: {dll_path}")
if not await is_whitelisted(dll_path):
logger.info(
f"Found non-whitelisted DLSS DLL in {launcher_name}: {dll_path}"
)
dll_paths.append(dll_path)
else:
logger.info(
f"Skipped whitelisted game in {launcher_name}: {dll_path}"
)
await asyncio.sleep(0)
except Exception as e:
logger.error(f"Error scanning {library_path}: {e}")
logger.debug(f"Found {len(dll_paths)} DLLs in {launcher_name}")
return dll_paths
def get_user_input(prompt):
user_input = input(prompt).strip()
return None if user_input.lower() in ["n/a", ""] else user_input
async def get_ea_games():
ea_path = config_manager.check_path_value(LauncherPathName.EA)
if not ea_path or ea_path == "":
return []
ea_games_path = Path(ea_path)
return [ea_games_path] if ea_games_path.exists() else []
def get_ubisoft_install_path():
try:
if config_manager.check_path_value(LauncherPathName.UBISOFT):
return config_manager.check_path_value(LauncherPathName.UBISOFT)
import winreg
key = winreg.OpenKey(
winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\WOW6432Node\Ubisoft\Launcher"
)
value, _ = winreg.QueryValueEx(key, "InstallDir")
config_manager.update_launcher_path(LauncherPathName.UBISOFT, str(value))
return value
except (FileNotFoundError, ImportError):
return None
async def get_ubisoft_games(ubisoft_path):
ubisoft_games_path = Path(ubisoft_path) / "games"
if not ubisoft_games_path.exists():
return []
return [ubisoft_games_path]
async def get_epic_games():
epic_path = config_manager.check_path_value(LauncherPathName.EPIC)
if not epic_path or epic_path == "":
return []
epic_games_path = Path(epic_path)
return [epic_games_path] if epic_games_path.exists() else []
async def get_gog_games():
gog_path = config_manager.check_path_value(LauncherPathName.GOG)
if not gog_path or gog_path == "":
return []
gog_games_path = Path(gog_path)
return [gog_games_path] if gog_games_path.exists() else []
async def get_battlenet_games():
battlenet_path = config_manager.check_path_value(LauncherPathName.BATTLENET)
if not battlenet_path or battlenet_path == "":
return []
battlenet_games_path = Path(battlenet_path)
return [battlenet_games_path] if battlenet_games_path.exists() else []
async def find_all_dlss_dlls():
logger.info("Starting find_all_dlss_dlls function")
all_dll_paths = {
"Steam": [],
"EA Launcher": [],
"Ubisoft Launcher": [],
"Epic Games Launcher": [],
"GOG Launcher": [],
"Battle.net Launcher": [],
}
steam_path = get_steam_install_path()
if steam_path:
steam_libraries = get_steam_libraries(steam_path)
all_dll_paths["Steam"] = await find_dlss_dlls(steam_libraries, "Steam")
ea_games = await get_ea_games()
if ea_games:
ea_dlls = await find_dlss_dlls(ea_games, "EA Launcher")
all_dll_paths["EA Launcher"].extend(ea_dlls)
ubisoft_path = get_ubisoft_install_path()
if ubisoft_path:
ubisoft_games = await get_ubisoft_games(ubisoft_path)
all_dll_paths["Ubisoft Launcher"] = await find_dlss_dlls(
ubisoft_games, "Ubisoft Launcher"
)
epic_games = await get_epic_games()
if epic_games:
all_dll_paths["Epic Games Launcher"] = await find_dlss_dlls(
epic_games, "Epic Games Launcher"
)
gog_games = await get_gog_games()
if gog_games:
all_dll_paths["GOG Launcher"] = await find_dlss_dlls(gog_games, "GOG Launcher")
battlenet_games = await get_battlenet_games()
if battlenet_games:
all_dll_paths["Battle.net Launcher"] = await find_dlss_dlls(
battlenet_games, "Battle.net Launcher"
)
# Remove duplicates
unique_dlls = set()
for launcher in all_dll_paths:
all_dll_paths[launcher] = [
dll
for dll in all_dll_paths[launcher]
if str(dll) not in unique_dlls and not unique_dlls.add(str(dll))
]
return all_dll_paths
import os
import shutil
import pefile
from dlss_updater.config import LATEST_DLL_VERSIONS, LATEST_DLL_PATHS
from pathlib import Path
import stat
import time
import psutil
import asyncio
from packaging import version
from .logger import setup_logger
from .constants import DLL_TYPE_MAP
logger = setup_logger()
def parse_version(version_string):
# Replace commas with dots and remove any trailing zeros
cleaned_version = ".".join(version_string.replace(",", ".").split(".")[:3])
return version.parse(cleaned_version)
def get_dll_version(dll_path):
try:
with open(dll_path, "rb") as file:
pe = pefile.PE(data=file.read())
for fileinfo in pe.FileInfo:
for entry in fileinfo:
if hasattr(entry, "StringTable"):
for st in entry.StringTable:
for key, value in st.entries.items():
if key == b"FileVersion":
return value.decode("utf-8").strip()
except Exception as e:
logger.error(f"Error reading version from {dll_path}: {e}")
return None
def remove_read_only(file_path):
if not os.access(file_path, os.W_OK):
logger.info(f"Removing read-only attribute from {file_path}")
os.chmod(file_path, stat.S_IWRITE)
def restore_permissions(file_path, original_permissions):
os.chmod(file_path, original_permissions)
def is_file_in_use(file_path, timeout=5):
start_time = time.time()
while time.time() - start_time < timeout:
try:
with open(file_path, "rb"):
return False # File is not in use
except PermissionError:
for proc in psutil.process_iter(["pid", "name", "open_files"]):
try:
for file in proc.open_files():
if file.path == file_path:
logger.error(
f"File {file_path} is in use by process {proc.name()} (PID: {proc.pid})"
)
return True
except (psutil.NoSuchProcess, psutil.AccessDenied):
pass
time.sleep(0.1) # Short sleep to prevent CPU overuse
logger.info(f"Timeout reached while checking if file {file_path} is in use")
return True # Assume file is NOT in use if we can't determine otherwise to prevent hanging conditions
def normalize_path(path):
return os.path.normpath(path)
async def create_backup(dll_path):
backup_path = dll_path.with_suffix(".dlsss")
try:
await asyncio.to_thread(shutil.copy2, dll_path, backup_path)
logger.info(f"Created backup: {backup_path}")
return backup_path
except Exception as e:
logger.error(f"Failed to create backup for {dll_path}: {e}")
return None
async def update_dll(dll_path, latest_dll_path):
dll_path = Path(normalize_path(dll_path)).resolve()
latest_dll_path = Path(normalize_path(latest_dll_path)).resolve()
logger.info(f"Checking DLL at {dll_path}...")
# Determine DLL type
dll_type = DLL_TYPE_MAP.get(dll_path.name.lower(), "Unknown DLL type")
original_permissions = os.stat(dll_path).st_mode
try:
existing_version = get_dll_version(dll_path)
latest_version = get_dll_version(latest_dll_path)
if existing_version and latest_version:
existing_parsed = parse_version(existing_version)
latest_parsed = parse_version(latest_version)
logger.info(
f"Existing version: {existing_version}, Latest version: {latest_version}"
)
if existing_parsed < parse_version("2.0.0"):
logger.info(
f"Skipping update for {dll_path}: Version {existing_version} is less than 2.0.0 and cannot be updated."
)
return False, None, dll_type
if existing_parsed >= latest_parsed:
logger.info(
f"{dll_path} is already up-to-date (version {existing_version})."
)
return False, None, dll_type
else:
logger.info(f"Update needed: {existing_version} -> {latest_version}")
logger.info("Preparing to update...")
# Check if the target path exists
if not dll_path.exists():
logger.error(f"Error: Target DLL path does not exist: {dll_path}")
return False, None, dll_type
# Check if the latest DLL path exists
if not latest_dll_path.exists():
logger.error(f"Error: Latest DLL path does not exist: {latest_dll_path}")
return False, None, dll_type
# Ensure the target directory is writable
if not os.access(dll_path.parent, os.W_OK):
logger.error(
f"Error: No write permission to the directory: {dll_path.parent}"
)
return False, None, dll_type
# Create backup
logger.info("Creating backup...")
backup_path = await create_backup(dll_path)
if not backup_path:
logger.info(f"Skipping update for {dll_path} due to backup failure.")
return False, None, dll_type
logger.info("Checking file permissions...")
remove_read_only(dll_path)
logger.info("Checking if file is in use...")
retry_count = 3
while retry_count > 0:
if not await asyncio.to_thread(is_file_in_use, str(dll_path)):
break
logger.info(
f"File is in use. Retrying in 2 seconds... (Attempts left: {retry_count})"
)
await asyncio.sleep(2)
retry_count -= 1
if retry_count == 0:
logger.info(
f"File {dll_path} is still in use after multiple attempts. Cannot update."
)
restore_permissions(dll_path, original_permissions)
return False, None, dll_type
logger.info("Starting file copy...")
await asyncio.to_thread(shutil.copyfile, latest_dll_path, dll_path)
logger.info("File copy completed.")
# Restore original permissions
restore_permissions(dll_path, original_permissions)
logger.info(
f"Successfully updated {dll_path} from version {existing_version} to {latest_version}."
)
return True, backup_path, dll_type
except Exception as e:
logger.error(f"Error updating {dll_path}: {e}")
restore_permissions(dll_path, original_permissions)
return False, None, dll_type
import os
def find_file_in_directory(directory, filename):
for root, _, files in os.walk(directory):
if filename in files:
return os.path.join(root, filename)
return None
__version__ = "2.5.1"
import os
import csv
# import shutil
import asyncio
from io import StringIO
from urllib.request import urlopen
from urllib.error import URLError
# from pathlib import Path
from dlss_updater.logger import setup_logger
# import win32file
# import win32con
# from watchdog.observers import Observer
# from watchdog.events import FileSystemEventHandler
logger = setup_logger()
WHITELIST_URL = (
"https://raw.githubusercontent.com/Recol/DLSS-Updater-Whitelist/main/whitelist.csv"
)
# class WarframeDLLHandler(FileSystemEventHandler):
# def __init__(self, dll_path, backup_path):
# self.dll_path = dll_path
# self.backup_path = backup_path
# def on_modified(self, event):
# if event.src_path == self.dll_path:
# logger.info(f"Detected modification attempt on {self.dll_path}")
# shutil.copy2(self.backup_path, self.dll_path)
# win32file.SetFileAttributes(
# self.dll_path,
# win32con.FILE_ATTRIBUTE_READONLY | win32con.FILE_ATTRIBUTE_SYSTEM,
# )
# logger.info(f"Restored and protected {self.dll_path}")
async def fetch_whitelist():
try:
with urlopen(WHITELIST_URL) as response:
csv_data = StringIO(response.read().decode("utf-8"))
reader = csv.reader(csv_data)
return set(row[0].strip() for row in reader if row and row[0].strip())
except URLError as e:
logger.error(f"Failed to fetch whitelist: {e}")
return set()
except csv.Error as e:
logger.error(f"Failed to parse whitelist CSV: {e}")
return set()
WHITELISTED_GAMES = asyncio.run(fetch_whitelist())
# def create_symlink(src, dst):
# try:
# win32file.CreateSymbolicLink(dst, src, 1 if os.path.isdir(src) else 0)
# return True
# except Exception as e:
# logger.error(f"Failed to create symlink: {e}")
# return False
# async def protect_warframe_dll(dll_path):
# dll_path = Path(dll_path).resolve()
# backup_dir = dll_path.parent / "DLSS_Updater_Backup"
# backup_path = backup_dir / dll_path.name
# async def _protect():
# try:
# logger.info(f"Attempting to protect Warframe DLL: {dll_path}")
# # Create backup directory if it doesn't exist
# backup_dir.mkdir(exist_ok=True)
# logger.info(f"Backup directory created/verified: {backup_dir}")
# # Backup original DLL if not already done
# if not backup_path.exists():
# await asyncio.to_thread(shutil.copy2, dll_path, backup_path)
# logger.info(f"Backed up original DLL to: {backup_path}")
# # Replace with our updated DLL (assuming it's in LATEST_DLL_PATHS)
# latest_dll = LATEST_DLL_PATHS.get(dll_path.name.lower())
# if latest_dll:
# await asyncio.to_thread(shutil.copy2, latest_dll, dll_path)
# logger.info(f"Replaced DLL with updated version: {dll_path}")
# # Set file attributes
# await asyncio.to_thread(
# win32file.SetFileAttributes,
# str(dll_path),
# win32con.FILE_ATTRIBUTE_READONLY | win32con.FILE_ATTRIBUTE_SYSTEM,
# )
# logger.info(f"Set DLL as read-only and system file: {dll_path}")
# # Set up file watcher
# event_handler = WarframeDLLHandler(str(dll_path), str(backup_path))
# observer = Observer()
# observer.schedule(event_handler, str(dll_path.parent), recursive=False)
# observer.start()
# logger.info(f"File watcher set up for: {dll_path}")
# return True
# except Exception as e:
# logger.error(f"Failed to protect Warframe DLL: {e}")
# return False
# return await _protect()
async def is_whitelisted(game_path):
logger.debug(f"Checking whitelist for: {game_path}")
path_parts = game_path.lower().split(os.path.sep)
for game in WHITELISTED_GAMES:
game_words = game.lower().split()
logger.debug(f"Checking against whitelisted game: {game}")
if all(word in " ".join(path_parts) for word in game_words):
logger.info(f"Whitelist match found: {game} in {game_path}")
# # Special handling for Warframe
# if "warframe" in game.lower():
# logger.info(f"Applying protection to Warframe DLSS DLL: {game_path}")
# protected = await protect_warframe_dll(game_path)
# if protected:
# logger.info(
# f"Successfully protected Warframe DLSS DLL: {game_path}"
# )
# else:
# logger.warning(f"Failed to protect Warframe DLSS DLL: {game_path}")
# return False # Allow updating Warframe DLL
return True # Whitelist match for other games
logger.debug(f"No whitelist match found for: {game_path}")
return False
from .scanner import get_steam_install_path, get_steam_libraries, find_dlss_dlls
from .updater import update_dll
from .whitelist import is_whitelisted
from .version import __version__
from .config import LATEST_DLL_PATHS
from .auto_updater import auto_update
from .logger import setup_logger
from .constants import DLL_TYPE_MAP
__all__ = [
"get_steam_install_path",
"get_steam_libraries",
"find_dlss_dlls",
"update_dll",
"is_whitelisted",
"__version__",
"LATEST_DLL_PATHS",
"auto_update",
"setup_logger",
"DLL_TYPE_MAP",
]
md5: AED94E7029846C356882DB166B824F5E | sha1: A9E38894E3D017722A4B6458BB9F36ED3419CCE8 | sha256: 89621E11738494356511604AE726F21C1BED1869735CC8949E9DDC8A8C2FD817 | sha512: F647943DD10B4C890D1B0E2A93FEF334F1F53E6BDDB96CFCCDBC4E9429AE4AB7017048675EB82BFE80C30BBD4F46CC5976777A1718311D746DEE81719D7A2A4B
md5: FDFAC845AB72D509A24EA2C16A1619C4 | sha1: 079166CF150BB7D3DAA37AF3055A82D9F9512AD2 | sha256: 9D18B5A5506910FE17BC4F032C56CB00CF1C3D622C5C8B04798E67463D6006A5 | sha512: FA70756CC253E2DEB0B63800A2E55D894FD728B04E86812E5AD26A4ED45EC004C19B8ABD9ED510D024D37E0BF6636A32A81BA34349550F3E0AF1D88094DCB4A3
md5: DB7B5C2C8686E1586CC56D5BDB64965C | sha1: 95990D971FF6FF2873FD68664A615666E359C294 | sha256: 8DD0AC5290E00BF846E093345AACB8A9E04CF8EAB8618CA959A12A01C02CB7B2 | sha512: 53A19985B3A783C0255E3477BCEC75EB8D1F37286BD2B1EF8E3E33B78117A647A2F5631AA6D964C89ACEACDE98B055777BC39AD91B9A15CC9766FB592EFD70D1
md5: 123AD0908C76CCBA4789C084F7A6B8D0 | sha1: 86DE58289C8200ED8C1FC51D5F00E38E32C1AAD5 | sha256: 4E5D5D20D6D31E72AB341C81E97B89E514326C4C861B48638243BDF0918CFA43 | sha512: 80FAE0533BA9A2F5FA7806E86F0DB8B6AAB32620DDE33B70A3596938B529F3822856DE75BDDB1B06721F8556EC139D784BC0BB9C8DA0D391DF2C20A80D33CB04
md5: 0F8E4992CA92BAAF54CC0B43AACCCE21 | sha1: C7300975DF267B1D6ADCBAC0AC93FD7B1AB49BD2 | sha256: EFF52743773EB550FCC6CE3EFC37C85724502233B6B002A35496D828BD7B280A | sha512: 6E1B223462DC124279BFCA74FD2C66FE18B368FFBCA540C84E82E0F5BCBEA0E10CC243975574FA95ACE437B9D8B03A446ED5EE0C9B1B094147CEFAF704DFE978
md5: 4FF168AAA6A1D68E7957175C8513F3A2 | sha1: 782F886709FEBC8C7CEBCEC4D92C66C4D5DBCF57 | sha256: 2E4D35B681A172D3298CAF7DC670451BE7A8BA27C26446EFC67470742497A950 | sha512: C372B759B8C7817F2CBB78ECCC5A42FA80BDD8D549965BD925A97C3EEBDCE0335FBFEC3995430064DEAD0F4DB68EBB0134EB686A0BE195630C49F84B468113E3
ordlookup
pefile
peutils
psutil
md5: 49AC12A1F10AB93FAFAB064FD0523A63 | sha1: 3AD6923AB0FB5D3DD9D22ED077DB15B42C2FBD4F | sha256: BA033B79E858DBFCBA6BF8FB5AFE10DEFD1CB03957DBBC68E8E62E4DE6DF492D | sha512: 1BC0F50E0BB0A9D9DDDAD31390E5C73B0D11C2B0A8C5462065D477E93FF21F7EDC7AA2B2B36E478BE0A797A38F43E3FBEB6AAABEF0BADEC1D8D16EB73DF67255
md5: AB15FFB93EA7D8ABD0A01060EEFC39F0 | sha1: F90A7FAD0C9970CD0D3E94F7B7B7959DFD6FCBC2 | sha256: FB0BE386AB5BC1695E47E49220F52BEEE99239BBE85C1749694A8A696054865F | sha512: 5DF2497C6E76C4BEE30BEF634D52A815A9112D11DBC737DFE16002D08B5BA885A56DBB56CE1DEEEAA46A99FB37D5E350A28937382DE443C553E5027BE7BEC01A
md5: 01B946A2EDC5CC166DE018DBB754B69C | sha1: DBE09B7B9AB2D1A61EF63395111D2EB9B04F0A46 | sha256: 88F55D86B50B0A7E55E71AD2D8F7552146BA26E927230DAF2E26AD3A971973C5 | sha512: 65DC3F32FAF30E62DFDECB72775DF870AF4C3A32A0BF576ED1AAAE4B16AC6897B62B19E01DC2BF46F46FBE3F475C061F79CBE987EDA583FEE1817070779860E5
md5: 0FE6D52EB94C848FE258DC0EC9FF4C11 | sha1: 95CC74C64AB80785F3893D61A73B8A958D24DA29 | sha256: 446C48C1224C289BD3080087FE15D6759416D64F4136ADDF30086ABD5415D83F | sha512: C39A134210E314627B0F2072F4FFC9B2CE060D44D3365D11D8C1FE908B3B9403EBDD6F33E67D556BD052338D0ED3D5F16B54D628E8290FD3A155F55D36019A86
md5: 9002E0BEE6455B2322E3E717FE25F9BE | sha1: BC8DF83CC657F0F46A0BFF20565870A435ED1563 | sha256: 24B47C966B6E4A65B3E4DF866D347D3427E9BD709BE550C38224427EB5E143D3 | sha512: 28DDD087B48D5AA96EC39CCC29A4020CF75AE3C5CB6AF9A9571694D73F7AAA4FECB15336C9C7A7D12C93D8BF12EFA4FE4D8D612CD93D72C72130CAE52317D0D9
md5: 83BBECF92FB68795A620B395998B131B | sha1: 026F9E87A5623FE9370C2EEDEF24C765F7312800 | sha256: B04DE4541863BC7D8879040A78889C4849C1B1DA2784C4630F734C146C2998CE | sha512: C63CA8863F63C8F415D685EFF991A1AA67E3457AC2B1F6524DB271C2986F7E79415F98F212E1F7CDD644F41BC48D558661E1136716D63F81675F664E53FDFC70
md5: F6618CDB7D96415A6E11558482E32BF8 | sha1: 03F07AF673B9838C4C488C6091D878768934E654 | sha256: FCDCC96D23D1F2F2585BC17125804D4D74DE74C8BED20CE9D6CA348A14212C44 | sha512: 656F77F2A2BBB5D0E1852EFB7854A12F706854F94C6285C1D7542E760B4586F4F6558EC0968BAE2422A11D2681408853F9FEB84B9FF221F7512AB0C53724746C
md5: 244C775000161DD8C34A08C4A477C73F | sha1: CF333FFB09EE833E555E9D33AB9B31F52D2AAAEB | sha256: EF3B36AA58C41BDBEAC8EEDA14CFFFB97C2DB5165230489F2F9733A5255BF24F | sha512: 8EE6F6BDEE7D4E7F0385DD7F7B904445126839669A592B228B46F9692A94FF796072F4264D57AADFB92472E60A7A1DE0A88675633EDDD01CF2FC433EED805DDA
md5: B1113A4174AAA289CCBB199A45D6AB07 | sha1: 7A2B51C4C8832426FC8C72ED854E1AA5D7CBA447 | sha256: 621FCE49FB05297962844FE20355D26322CC340C354ACB0BF1E032709C70E213 | sha512: 84C91B064A7F9E6A48D65F5436F931E61856BF58FA970204795431563F9A27BDABDF44E7875118F9A320FECA73AF9D4564B52B498779DF7B5DCDFA6D4A995BD5
md5: 7AEFE1D8D66BC24CF968D149C3D355BA | sha1: D6BAC71C80DA7D56A042211B08A77E9E30ABF36B | sha256: 46D8E8D293F47DA45CA9F2D5D9D84C4DFABAEC2DC525B40573EE42217BE3E7CA | sha512: 329C2DEBDD3EB5CD317FEED10557001C112DF9F1F773982AFBB6C197CFBEA235A9229C11CAF0BF8CAFA1AA72A9FF80A0B3B7E1312E7ED1C98D8692B23EDB6964
md5: EB9E66A05279C8D3DEDC3F82A440D9DF | sha1: 7409A2F56313DD4999FC24F878B4242CBF0E7685 | sha256: EBF2FDD97CD098C7DFE9F4D68D0620A22F9A38F7F5FAA943EB816B07C05AF4A9 | sha512: 990798E0A48903BAD7EC8CDE195F5796D12239E3D64D9B3F9ECE4D74B71F75AB4498C1CB59248171F9CACE8970BD115FBDF1EDCF125333539C64F9313D2F2D1B
md5: 971DBBE854FC6AB78C095607DFAD7B5C | sha1: 1731FB947CD85F9017A95FDA1DC5E3B0F6B42CA2 | sha256: 5E197A086B6A7711BAA09AFE4EA7C68F0E777B2FF33F1DF25A21F375B7D9693A | sha512: B966AAB9C0D9459FADA3E5E96998292D6874A7078924EA2C171F0A1A50B0784C24CC408D00852BEC48D6A01E67E41D017684631176D3E90151EC692161F1814D
md5: 6BC084255A5E9EB8DF2BCD75B4CD0777 | sha1: CF071AD4E512CD934028F005CABE06384A3954B6 | sha256: 1F0F5F2CE671E0F68CF96176721DF0E5E6F527C8CA9CFA98AA875B5A3816D460 | sha512: B822538494D13BDA947655AF791FED4DAA811F20C4B63A45246C8F3BEFA3EC37FF1AA79246C89174FE35D76FFB636FA228AFA4BDA0BD6D2C41D01228B151FD89
md5: BBCE418C51906DA7797BA6B0404D7F8B | sha1: F23C6BFF9EA8AB66C7355029494E22FC17A9D645 | sha256: 91E2A12E3D4C33C688B88EFCB7F85EA7986165284E440130102025A4CC050C99 | sha512: 8A17A2E8EC56268BF014A604602416441B3DA3DB50956A309F4B8DC244F9F49FFF0D642B5D7A6580A13E4406F8D934B1696877FED93B7ADBDF93FAB5C66472E5
md5: 04E1D1FEC94098917B19A1159FF47193 | sha1: 3CD6F0171EDFB371208750E166E9E8E090FEAFE0 | sha256: FAD7B91D3DFC311E6713C9616EECF02F69D11EF6EE94E45B08623D4AA7F827AA | sha512: 6A66AAC55303898CBC2F04E413F7A1D3F8947CAC75D1B20A05A2A4ADC7133BC050797B89E5301E683CB09EC732C5FBCA8891E7539BF6B172178DD57F34F68088
md5: CFEB5A9AC4A431A763184B50AAF5244D | sha1: ABD689EC12D04D62B2880138C71F8976A08166EC | sha256: 466C595B87F59053DE2957581B49104C4A2CDB2E7515E061D6C45CF6C24D17AB | sha512: 935AB2B061973B931BDC13573D9DF9F63D4BC96DD13AFA566DDDAA2484B25D2058A0D037A433E94ECA45634D67BB902AA1FC395B5B8D28B6EA462F3973223D23
md5: 487F07BC68C42C1F84341DE31B81339E | sha1: BBA2E85D1D659B58C1748E633B00BE12230647FA | sha256: 185A84304287C558B6CF641E707257EEC49560D9AE50307E02A7DAA7AC8F8739 | sha512: 353DB60802B59AE4AF9FC6DB789AD6C7949D331AB954448B2BD1492B05C4CB9FC4A1E005BBA73A7FEE4071A6D6128CC24CC7D7281F789742DC83B89D76E645A2
md5: 75641F83B9F6515B473E8A2C34F037BF | sha1: 1E787105B2D3F7D573EA709E07EA998020ABAFB5 | sha256: E85A0935FFA2A1BD5425DDBDC1035E8F90E8DE2E26BD0A112F86A5895BADCB86 | sha512: FCC91417BABDDF9F215D27CBDBEE5AFEE32A74FEF1DA3A5F7C763316F80BAF30DBE0E5031F24DB8913F02F27A07516FC4D3947877827AB8752F7D3661F21E13C
md5: 14139AF7CB55653167F0C021EF550419 | sha1: AF2794D2CB7E5784C37AC900988208E857E409E1 | sha256: DF30779FA1830475C7FBED9A7CA4C2A0E8F037C53BA4B08FF9B5658B1960B4C9 | sha512: 6F3E762A2F792FE89F7A052CF76E7D51EC7C528D12622B4AAD93736D4610A41E60FC1DBF3053CDB8F2B0D9B0231DE51469B55BCE483F116DD704907157EF6CF1
md5: 369D2CDF81B363395F21CAEE9AB7095F | sha1: F69C78A47BAF89FEB83D82EC1BE2909290D29C5C | sha256: FFE2BB41E5AF3BD9F3800AA60ACF9A19136CCE60CB85C850C4F54BD62303C5FF | sha512: 65DA77FB310A466C7CF9EC287AA47E9ACDA8A03E68D0F0B4A1F4EBFA039643EC27A37607A4FFB783D8CDEC4E9BBFF210059B4BCB1987FCDC883A9BFF2AA7C9C6
md5: 31BB65616CB6BD7C14F7800EF35E4B0B | sha1: 605451C1199D907F602D8D91D56D1E77AA39F475 | sha256: 5CE4E822A9AB127779CE33CBBD400D311192EC2E8D33F820FE0DEF27C8D03FE5 | sha512: 404E49E4422334A5D585CDEDCEAD10703A815FFAA771D32C0B1C53BBA1E38FCE01F251F0993F7ABCAF2C7591FA029152032E040C4B68FE7EA678DD1C4CD4C2EA
md5: 01E6729E86BE5C3E3B14C4B50D84FB78 | sha1: CA5B4430E2CCBB6E21E61AB4A8B1907F9E65A9E2 | sha256: 8F04B3B032C801FF77838B5C8CB53D774BED1A2D8262984389BA99E4FDBF30D0 | sha512: CC1A6C4A88999FF4686535B115AA8E4E63BA1DF623B41F085B97474730936C80408060C4BE482BB9358F53DF8B56336177F1FF21521F0A22786953E1F12ED308
md5: 5C421747682ADAC0511A891E109882FE | sha1: 297C8516C0A1EABF0261FDD4E69DF75BEBB0FEC9 | sha256: 553FFC35CD2BAD6FC8389F23253026E7B7C1FE21FF717310ADE1011B7EED1061 | sha512: 792C3452D1CEECC14CC1E9787340E1D72CA85E1A5D5BD244B8AC713CE9AE5771AF6E98DD9ECA2A1E48E92385A658DA32C8018C609F93416E9FEBC732BD57EEF0
md5: 2D13ADB190D04B71420F85B63ED1297C | sha1: F723111A66E54B2DE44C11DDD21B9BFF23C15F09 | sha256: FA8DCB17CB14AB3DF317E3B28754DB985491703B6EB0704FA29B4414EB8252FA | sha512: 8CE429A8380E3AB5130BAA55A794C3E51C5F3B7B2BE12C0F5094777D89A107F22ACE6BC5FA4A759FF36BC08B69CC0E0E8AE61F350DCBEFC47B08BAA8B583B64B
md5: 596994BCCBF0677A1656F5A7D5DCF032 | sha1: 7C4B9C48455280BD275BA8E1C5EE6B1DAD897379 | sha256: 923DCDD83563740F8C16E8AA8CFA394DC22F570FE64A407C534BDF2258902126 | sha512: 37000D69405ECDC0816C533BF33DBD1EE5D05978BEEDAD49C2840D905759863478777B728284D45A217770E7BB3984ABE694EBFF08E319B72603A1CD628450B4
md5: F534EA5B2E138CF01FC63095BFED91CD | sha1: 24549EB531B077DF71A3AACCD7B9E91060049BA5 | sha256: 1F03F0A4358061B49ADE4885526DC9F4C4542B130B6BC418C60328D19A3AF553 | sha512: 903B925BC5EFE8122D3CD9A78977931FF3217E3F0137E383AB898E3FA3F088E6802B0F58F324E6B43B152158B528F17EC9D399C0D78E8B25A1B0B5A6CF1BD674
md5: 712BE32D69CCFCC5E8E07EB0B0252838 | sha1: B88372F5536D44C1D9D82FCF6C5CCADA91535891 | sha256: 01EB833A4B517073B8F443F5A99198B021CAEB207773FF405B8A421D6ED405A4 | sha512: 1F940942B80B5287272D237E6CDC7E488D322822EBC96279A922E21876B493D6BC61B520ECC3FAF23F802AF070A44D09B418EDEB28CB8C7F31962A43D7E44105
md5: 9E9EDE62DAC5ED360AD811C409B96EC7 | sha1: C7DC498254667728A31A2C6EBB0786708CC87E1D | sha256: F4A118AFD9259CD928F55FA87F6FBC2CD88478E79BC75F4032D650B7E01E16AA | sha512: 0D6B56B68B045FFB31E5C7B81C1AAAC78078A3F4DBD53CD569C1DF350132BDD7031847573B204AB0A0B05D1695C986E8E79A5EF4617A75C5ECB9E12231606C3B
md5: A4A3C1223C9ADB54B324586C5EE374C4 | sha1: 0797C48A2946583F29F9B0A41EC770451A3CDF6C | sha256: EC2F0B95FA11C4DFD30DB27A8E593E7FEC4281EFC1BDDB578EB4DC15B8A66DF0 | sha512: D32A572B40541D90114F694B7C14BBAD67B7EB1391D56F827A83F60F78C1235D789DAD0301196A4AB404C8B1065840AAE0E5894F7EA200577441AC225AB8019B
md5: C81647CFF66445F6520F4881B4D853D9 | sha1: F25458A223DE5119C6960C0F1F493FE8D1EA0AB1 | sha256: 94440B0412810D556BAFB1B92824D8531BFBB3D593E3460D6B19483322539D9D | sha512: 6C86D4759389A25B5AEBC33149D327455E83EA6A4DE3D575E5431CB7E8167824AA25CC659AE642DED6F35083E1BBC4416327D83E3471BD509A612CE0D211CC76
md5: 008E1FE88263CDC69853DCDF2B297D04 | sha1: 84263829BBC2E4C030B8E5C9AF917C830E275ADF | sha256: 7A551684224EC52D2442CDF5FFA48A2300508AF8033175CAB469E0DD1975AFB9 | sha512: EC0DEDBEFD1B80B7C2C3BD7145F85353A0DF7318B2D2CF2825EF715D886E75A425E0FB9DDD5FA30D4D554DA2FE2FE2F3B5244DC264288DC86F5180AE9A0B5944
md5: 287ADA230DC00060C7A1BA26FFDF5073 | sha1: A455AF513C8B693E3CEB64B7912BFAB8F564CC95 | sha256: BA46122020B7668E16C25CCE3BE9C9273BB52033A31F5BEBD52FF5EDD772B18A | sha512: F15CFB1DA1E80632DDA2E3B7AEB2B1706107598E56B2EBF95CB941D686EEF1CD077DEEC95EE920EAFA5FD7E591B0CE787F64CE34D0F2E90CA2E191B19F09E796
md5: ACD6BAD0EA9A91CE06189BB63D594B41 | sha1: 46EE5089000B5C312739A909662142104D4D8BE9 | sha256: 7C3E2956271EFF4949145D14635C0CA659DB5ED19215201D2D8B3A4A3D3006F9 | sha512: 79B888BDA9804A9091F5FE8D411F2A81439D3D9618E6BD73A3F729BC977CD8E15914F3FD9F90462331AEE431713C8ED7FFE864C975FAA6083D7925D17D43B315
md5: F9A43765B486C561BF0895EB9390ED1F | sha1: B398FBD02BD7FDB32DCB88F11758A0A9826B75A4 | sha256: 3B56FA10D3797C231468CEE42CAEAAAFF40DBEDE7BC0D142EC4878493F48E07D | sha512: F2709BA81FE1E01789FC0AAE65D31F5ADCFD64DD72D161B4CDDFA35F91EB2C8D66954925C825B22CE9034FD894EE18500B1FF0A32E4D585491E09D2C540A305C
md5: DA0E290BA30FE8CC1A44EEEFCF090820 | sha1: D38FCCD7D6F54AA73BD21F168289D7DCE1A9D192 | sha256: 2D1D60B996D1D5C56C24313D97E0FCDA41A8BD6BF0299F6EA4EB4A1E25D490B7 | sha512: BC031D61E5772C60CBAC282D05F76D81AF1AA2A29A8602C2EFA05FC0CE1079390999336237560B408E6539A77C732F5066C1590B7FEAEDB24BAA9371783F2A8F
Version 2.2.6:
Nvidia DLSS DLL updated to version 3.8.10.0 from the release driver 556.14.
Version 2.5.0:
This version represents a major shift in this project, hence the migration to a new version number.
Major changes are listed below:
The addition of a GUI.
Path persistence to remember past locations that are stored, including on reboot.
The removal of manual terminal additions.
Version 2.5.1:
Updates to the DLSS Frame Generation DLL to version 3.8.1.0.
Minor logic changes to the Steam library detection to fix race conditions.
md5: 208CEF2D2C60A3457B13AA428DCEB347 | sha1: F78DDBE4BE3FF0B21F06AEA5F2266625D489470B | sha256: FCAC4646FF709AC07AEE532C4612A19B7070F2DD6EF67BA09C743644E92F7376 | sha512: 8B0D14D1C93089368D34BDF49602F4C8E1DAA1711C2760EEB2C59A10DBF7611FCE098AF0F11D7D5AA53D7D07DDE39B1F31ECF5F62F7F91F31D7ABEED5D828B19
importlib_metadata
[console_scripts]
wheel=wheel.cli:main
[distutils.commands]
bdist_wheel=wheel.bdist_wheel:bdist_wheel
MIT License
Copyright (c) 2012 Daniel Holth <[email protected]> and contributors
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
md5: CCE9B64D0F98C2370A2DA82AA9A501E0 | sha1: 0121A2B000B9A0B3F3B6660B39536FE8D72BA222 | sha256: 5D69CCE34D22D26BC6DCB4C3E58DBAE83346EB3EA203CB80769AD4C077424C96 | sha512: 66553C524CA07C537D0E7B18EA35AE0B9218D1ADF076726D4EA9071B5EC546FFD87BC6EFB55671109041A9AA007F7E0F59462341F365E448BE9071D714B6A6F9
md5: 5E432CCA03CD6C18CF4043ED1F3AF40A | sha1: F418BC194C3D35298028BB43DC8CFF720360EB2B | sha256: E7FE7AE7342B1DEC8DFE52A95D768039A46189209B9F42A21C4D2473FAAA1753 | sha512: 02076EF322D23BECFE3E24CCA5E868A3ACB28086DFE83188D82A1A138AD24B9EA097DF667BCF8B5486B3306ABFF0138462E757171A92CD2B58A98A2AC152EC91
md5: 862F820C3251E4CA6FC0AC00E4092239 | sha1: EF96D84B253041B090C243594F90938E9A487A9A | sha256: 36585912E5EAF83BA9FEA0631534F690CCDC2D7BA91537166FE53E56C221E153 | sha512: 2F8A0F11BCCC3A8CB99637DEEDA0158240DF0885A230F38BB7F21257C659F05646C6B61E993F87E0877F6BA06B347DDD1FC45D5C44BC4E309EF75ED882B82E4E
md5: 68156F41AE9A04D89BB6625A5CD222D4 | sha1: 3BE29D5C53808186EBA3A024BE377EE6F267C983 | sha256: 82A2F9AE1E6146AE3CB0F4BC5A62B7227E0384209D9B1AEF86BBCC105912F7CD | sha512: F7BF8AD7CD8B450050310952C56F6A20B378A972C822CCC253EF3D7381B56FFB3CA6CE3323BEA9872674ED1C02017F78AB31E9EB9927FC6B3CBA957C247E5D57
md5: E9D8AB0E7867F5E0D40BD474A5CA288C | sha1: E7BDF1664099C069CEEA18C2922A8DB049B4399A | sha256: DF724F6ABD66A0549415ABAA3FDF490680E6E0CE07584E964B8BFD01E187B487 | sha512: 49B17E11D02AE99583F835B8ECF526CF1CF9CEAB5D8FAC0FBFAF45411AC43F0594F93780AE7F6CB3EBBC169A91E81DD57A37C48A8CD5E2653962FFBDCF9879BB
md5: AD364098AA105E804C8C98D343EC3527 | sha1: 4EBE5696875C94BDBBD6CD031C0593AE89D176AF | sha256: BAC2870D61A72BE50CABC968BE924147132036185B3B538AA3B1B43D8C828A2E | sha512: BEB0A44A44969ABF7290FC560DECEAC5BD8CEE96D560041F783DD439A5F73B340634E451797AC1B67405F655299FCE5A20627CBACBA4943F7723778FDE61497F
md5: 03BAD8289D9AA18E859ED7270A719E92 | sha1: EE371B1AFC7D5BE754553D54BD0DB8968568C703 | sha256: 178C6EEB30843E656CC407AAF53AE6D0F170966E4E0BDD2EE1BEDE73962275CD | sha512: 5267906B6DAF79E898F87D24B6C0467F75DF4C53FE0F44C5DCB02EEFFEF3B9B7078B2B1AF3417BA92AB7586A7968A6B4FDB44B398287CDC1CB0C1DFF2E4E9AAB
md5: F8D2950D5496D3940AEF6758C9E9E576 | sha1: ED68C88C14E44871A085E93BF8CF6AABC816CE28 | sha256: 9FFDEDD0F1F09F21870BD75C08D05C32994A1193BE3955E367F260690A36CBD0 | sha512: AB25FF65ABD64F39B156F7AA91C35A327C930F31D3A5D128E67E00C6307E0A0637595AB812931DC2FFEC7102E33A2AFC746DE6267F6130D4F5A8D3445BCDED79
md5: C68FC0D5C1878D02069503280234E969 | sha1: 98C8E90BF27067A4FF0764C23B95A8B845869736 | sha256: 847E2B2C69CA623E0F96BBDA0F421CA978FBB5925BEEC4CC5E4C5D9C966C4BBC | sha512: FF745D92BEB4C850371B1251C0D81C301A6CE5F6D7D5CB785A5D50DBE17817455EAFC32BB6624B24DD074270892FB3FD52A864FCCA6E6EA6D46723D3A1C2B6FA
md5: CC59A1CA9CF077F345A6872BE765D63A | sha1: 994F6A8FA1FECCE64BEC7222D5437DF0B99F5F76 | sha256: 9DEAD134CCD6C3C2E2BDBED8A02B5853200DEB11AA2A22B926F9F2955D3F5143 | sha512: B005D2AB4072AE438551897B359F65B4A438404303EF752768B25BF754FD6A4C29FE26392CFF47DACA8255B83E095D674A768F294E4290D0F6861CFD1ADFD1EE
md5: 5B08C2DCBE1B1DEA46ABBD6C9425878E | sha1: 8FE7D98D8F3CCAB36D92DA7E84CDC0F7D10DBADD | sha256: 823717926ADCE6B36F9C13B6555EAEAF5714C4756828F11CFFC1CE0BEF970A7E | sha512: 3843966697558800C639037A34DA13F6BD6A0C3816BC0BBD292F04DB13ACC03F0B79A8FAB4C58AD25FE18DD11471BC9DC20CC0D9C97C4C63FBE025EA6242B4D7
md5: 02B16654F73129B1A1220C00D757112D | sha1: 7CE602E4C2854BE7C6B439BC64162D58B1467750 | sha256: F6E0C786395CCC7B22F4C435B19F7073EB5974EB29E09F4C91060CAB10450E6A | sha512: 8DAF5D68230D0340E5D940067AFCA39922078CE94B6753F2BE7AE208D7982E87F5273ACA768465B110477F83735F4C8E14F7BF95C2A48E2E5457BC723398E541
md5: 3966D8FD4D83FA54DB28338FF6087E08 | sha1: 61309A8044BEF8B0AA0A7447D3AFDFD7502FFEBB | sha256: B66A5A1A4AA1F187CC349E7548C3CF6D815552937A6A1D33ECC87B76794A1939 | sha512: 2203F5E547C74DC0AA177F2708AA09950825F16CFACADF84DE005296BAF305F08D732EE1E38DAFBB80EEEC72BF090B56359F5E2DF8C28C87DED8EA5552FECF71
md5: 1E467F86CE9BB4DBE682BC0BF41B018A | sha1: 3A9D3AD208FB41A843D9D4D10F245D6A21266FFC | sha256: 0E6081DA5BBF8FCD756B02153AB7FCA12BD0BC04842ABE5765F7409AF4987B17 | sha512: 22271F1C2F709E764D88DBF6FD0EDE850F1D2D80992049B88B11F6620E6B055F18F1C55DF43D6281CCF8CA84224AC88F72CB03BEEDD9173888A71A5549B3AC59
md5: 6F8624F0746FA31CF72EF568D6A121F1 | sha1: 1054FB373EA2AA51CB04FE98E6EFD130BE34FC43 | sha256: 37622CA591FB8E45A894DB9C0DA99BFCB18A820A48F028E4949D9256B69247E3 | sha512: E52199265A0360027D21034060984DD2100B79FAEB03B86CB7A6545DA10C00D860117598F659CA38C5BDDF368D2F525E4A337011CC78BBCE5307BAA52588FB9A
md5: DC5A5AB89E6E2B48CB50B463B214FD89 | sha1: F7740FF9D75767CCDAC7AA0DDE8659D3133249A2 | sha256: 0E2C1089974A2757426DAC3295201A33C990C36F3C09593F8A2B6E07FD36B99C | sha512: 98A886DAA82848BC4CA352EC7E7F663822CBAD5CD40C5EA7915821097964167D0628AF47B8F19F22A825F9696F3199FFBAA94D699AE773A7EB57AE6DC1C3814F
md5: 25D4B1C6CA053C573A55D68AE3DB5CE2 | sha1: ED6BC021E3D5E5CA8083E22B718BC89D55D3AB7F | sha256: 81344E3E16CF6F2D5B24CC0CF92E95C5FD0592E4A3859BB00C3F5891E2482128 | sha512: 396A5432461408059CCDA92CC9CA641E68150AAD02EFCB635DCD3F7D68D9DD09CCEC0619705ABF3F43A959997B4F8821B726822B89C217C4054F8E8A67EB7FC3
md5: 7F64EE67CBE4066246E3B98844A781F9 | sha1: DAB90BF194C51855FFF39A8DA81DA39D47389A36 | sha256: 20557961AC93AE00829B0865018BCC565E41B52B103D2AA58405A0208ADA148F | sha512: A19546F5444C68EF3227DD3BA643D09FA005A9C3E65AFFFDB5346DC142395E8FB61163764FF255544DAE81D305D410CEC6620B97030F82F2970F33BE763AF551
md5: E203A46E89F443646CEC65D96ACEADBA | sha1: 6EC891960AC4B9D501E593157F5E89BCDDEB0CB4 | sha256: AF1077D6377D5A0AEA123F0C324CC6D151AC4A29A84AAE23A6936B6D1C64B70A | sha512: 5678C0CFF56E41B59577C13FD206AF279831BFCA6FA9E56B4FD6F960F3C11834775498ED2D9008A21B6EF65CB2DFFFA0152A4E2AD1DA4CF198ECCEEDCB599E4D
Log in or click on link to see number of positives.
- VCRUNTIME140.dll (5e197a086b6a) - ## / 74
- MSVCP140.dll (88f55d86b50b) - ## / 72
- MSVCP140_1.dll (446c48c1224c) - ## / 72
- VCRUNTIME140_1.dll (1f0f5f2ce671) - ## / 71
- MSVCP140_2.dll (24b47c966b6e) - ## / 75
- libffi-8.dll (eff52743773e) - ## / 72
- opengl32sw.dll (b04de4541863) - ## / 71
- libcrypto-3.dll (4e5d5d20d6d3) - ## / 71
- libssl-3.dll (2e4d35b681a1) - ## / 72
- nvngx_dlssd.dll (9d18b5a55069) - ## / 72
- VCRUNTIME140.dll (36585912e5ea) - ## / 72
- VCRUNTIME140_1.dll (82a2f9ae1e61) - ## / 72
- pywintypes312.dll (2d1d60b996d1) - ## / 73
- api-ms-win-core-console-l1-1-0.dll (79e4edf3ff63) - ## / 72
- api-ms-win-core-datetime-l1-1-0.dll (9600f4377263) - ## / 71
- api-ms-win-core-debug-l1-1-0.dll (43533c66ae70) - ## / 72
- api-ms-win-core-errorhandling-l1-1-0.dll (be358d7f9a80) - ## / 72
- api-ms-win-core-fibers-l1-1-0.dll (772372f20239) - ## / 71
- api-ms-win-core-fibers-l1-1-1.dll (8fcae6d9a2a4) - ## / 71
- api-ms-win-core-file-l1-1-0.dll (57a24b7d585b) - ## / 72
- api-ms-win-core-file-l1-2-0.dll (00af59b43e70) - ## / 72
- api-ms-win-core-file-l2-1-0.dll (b8ee3713b2fa) - ## / 72
- api-ms-win-core-handle-l1-1-0.dll (0069d044789a) - ## / 58
- api-ms-win-core-heap-l1-1-0.dll (95767fd45416) - ## / 72
- api-ms-win-core-interlocked-l1-1-0.dll (6e65a8482e98) - ## / 72
- api-ms-win-core-kernel32-legacy-l1-1-1.dll (569618315c6b) - ## / 70
- api-ms-win-core-libraryloader-l1-1-0.dll (6614e8c94f8d) - ## / 72
- api-ms-win-core-localization-l1-2-0.dll (d1ecd2c21df1) - ## / 72
- api-ms-win-core-memory-l1-1-0.dll (03a723bcbcc8) - ## / 72
- api-ms-win-core-namedpipe-l1-1-0.dll (3c6ecc4e2284) - ## / 71
- api-ms-win-core-processenvironment-l1-1-0.dll (541bac07d88e) - ## / 68
- api-ms-win-core-processthreads-l1-1-0.dll (e714ffde0c79) - ## / 72
- api-ms-win-core-processthreads-l1-1-1.dll (94a70e7cd722) - ## / 72
- api-ms-win-core-profile-l1-1-0.dll (9eaa28a9f953) - ## / 72
- api-ms-win-core-rtlsupport-l1-1-0.dll (eb8ce6ef361c) - ## / 72
- api-ms-win-core-string-l1-1-0.dll (634f1e2eec06) - ## / 71
- api-ms-win-core-synch-l1-1-0.dll (50c78541fd07) - ## / 72
- api-ms-win-core-synch-l1-2-0.dll (359c5d1221cf) - ## / 72
- api-ms-win-core-sysinfo-l1-1-0.dll (154b5470e4e2) - ## / 72
- api-ms-win-core-sysinfo-l1-2-0.dll (6d2a9c574523) - ## / 71
- api-ms-win-core-timezone-l1-1-0.dll (f1061607d0df) - ## / 72
- api-ms-win-core-util-l1-1-0.dll (ac72cd7713da) - ## / 71
- api-ms-win-crt-conio-l1-1-0.dll (81cc477b01b8) - ## / 72
- api-ms-win-crt-convert-l1-1-0.dll (f16030942224) - ## / 71
- api-ms-win-crt-environment-l1-1-0.dll (34e9a4ffe038) - ## / 72
- api-ms-win-crt-filesystem-l1-1-0.dll (4f5faf054747) - ## / 71
- api-ms-win-crt-heap-l1-1-0.dll (0f885499cc16) - ## / 72
- api-ms-win-crt-locale-l1-1-0.dll (0dfe9be5fef2) - ## / 65
- api-ms-win-crt-math-l1-1-0.dll (5a4d35462656) - ## / 72
- api-ms-win-crt-process-l1-1-0.dll (d95c89d8f1dc) - ## / 72
- api-ms-win-crt-runtime-l1-1-0.dll (1a460b02ebd5) - ## / 72
- api-ms-win-crt-stdio-l1-1-0.dll (5723612d49c7) - ## / 72
- api-ms-win-crt-string-l1-1-0.dll (6af625152090) - ## / 72
- api-ms-win-crt-time-l1-1-0.dll (edc8849cfb5b) - ## / 71
- api-ms-win-crt-utility-l1-1-0.dll (bdfeabcbfe6f) - ## / 71
- ucrtbase.dll (5d69cce34d22) - ## / 72
- nvngx_dlss.dll (89621e117384) - ## / 72
- Qt6Core.dll (fcdcc96d23d1) - ## / 72
- Qt6Gui.dll (ef3b36aa58c4) - ## / 72
- Qt6Network.dll (621fce49fb05) - ## / 72
- Qt6Svg.dll (ebf2fdd97cd0) - ## / 71
- Qt6Widgets.dll (5aed2c3a8ff1) - ## / 71
- qtuiotouchplugin.dll (91e2a12e3d4c) - ## / 72
- qsvgicon.dll (fad7b91d3dfc) - ## / 72
- qgif.dll (466c595b87f5) - ## / 71
- qico.dll (e85a0935ffa2) - ## / 72
- qjpeg.dll (df30779fa183) - ## / 72
- qsvg.dll (5ce4e822a9ab) - ## / 72
- qwindows.dll (f4a118afd925) - ## / 60
- qmodernwindowsstyle.dll (ec2f0b95fa11) - ## / 71
- base_library.zip (13e24b36c20b) - ## / 64
- python3.dll (7c3e2956271e) - ## / 71
- python312.dll (3b56fa10d379) - ## / 72
- Qt6Pdf.dll (46d8e8d293f4) - ## / 71
- qicns.dll (185a84304287) - ## / 72
- qpdf.dll (ffe2bb41e5af) - ## / 72
- qtga.dll (8f04b3b032c8) - ## / 72
- qtiff.dll (553ffc35cd2b) - ## / 72
- qwbmp.dll (fa8dcb17cb14) - ## / 72
- qwebp.dll (923dcdd83563) - ## / 72
- qminimal.dll (1f03f0a43580) - ## / 72
- qoffscreen.dll (01eb833a4b51) - ## / 72
- dlss-updater.2.5.2.nupkg (0f178003c66a) - ## / 67
- DLSS_Updater.exe (4f42dd8b5cd8) - ## / 68
- nvngx_dlssg.dll (8dd0ac5290e0) - ## / 72
In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).
Chocolatey Pro provides runtime protection from possible malware.
Add to Builder | Version | Downloads | Last Updated | Status |
---|---|---|---|---|
DLSS Updater 2.5.2 | 28 | Thursday, December 19, 2024 | Approved | |
DLSS Updater 2.5.1 | 38 | Saturday, December 14, 2024 | Approved | |
DLSS Updater 2.2.6 | 18 | Thursday, November 14, 2024 | Approved | |
DLSS Updater 2.2.3 | 146 | Thursday, September 26, 2024 | Approved |
This package has no dependencies.
Ground Rules:
- This discussion is only about DLSS Updater and the DLSS Updater package. If you have feedback for Chocolatey, please contact the Google Group.
- This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
- The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
- Tell us what you love about the package or DLSS Updater, or tell us what needs improvement.
- Share your experiences with the package, or extra configuration or gotchas that you've found.
- If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.