Skip to content
This repository has been archived by the owner on Jan 1, 2024. It is now read-only.

Installer does not find .NET installation #3028

Closed
svee4 opened this issue Jul 27, 2023 · 24 comments
Closed

Installer does not find .NET installation #3028

svee4 opened this issue Jul 27, 2023 · 24 comments
Labels

Comments

@svee4
Copy link

svee4 commented Jul 27, 2023

Describe the bug
When running the installer, it shows the message .NET install was not found, even though .NET is installed

To Reproduce

  1. Download .NET runtime from the link provided in README.md (https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-6.0.16-windows-x64-installer)
  2. Download and run the installer (https://github.com/Ryochan7/DS4Windows/releases/download/v3.2.13/DS4Windows_installer_x64_v3.2.13.exe)

Expected behavior
Installer finds .NET installation and proceeds as normal.

Screenshots and Logs

Registry editor shows .NET installed
regedit

Dotnet CLI info
dotnet-info

Info

Also tried with .NET 6.0.20 and 7.0.9, no effect

Workaround
For those looking to install the app, just follow the instructions found in https://ds4-windows.com/get-started/

@raeleus
Copy link

raeleus commented Jul 28, 2023

I'm having the same issue on Windows 10 Pro 21H2. The zipped version runs fine.

@trowieuk
Copy link

same issue here, I've tried all zipped and installer.

@NicTech-1989
Copy link

Same issue here keeps showing this.
Have Installed Desktop Runtime 6.0.15 and 6.0.20
Windows 10 Pro 22H2 Build: 19045.3208
Screenshot 2023-07-29 210740

@BustedSec
Copy link

Temporary Workaround - Use 7zip to extract the files from the installer and just then just run the .exe for the program

@Ryochan7 Ryochan7 added the bug label Jul 30, 2023
@Ryochan7
Copy link
Owner

Ryochan7 commented Jul 30, 2023

Found an error with registry value enumeration with that routine. Although, that error should not have mattered in this case as only one value exists at that key. Also, that installer was still using helper apps compiled against VS 2022 redistributable rather than against 2019 like I wanted; that change might be relevant here. I will get an updated installer link posted here later.

Edit: Also found a value error when it came to the return value from wstring::find. Should not be relevant here as the routine should always return true if that problem is encountered.

@Ryochan7
Copy link
Owner

DS4Windows_installer_x64_v3.2.13_try2.exe
https://drive.google.com/file/d/1s-MCsds23p_rW7TUa3LBSyrNTalcLfsR/view?usp=sharing

@NeroSiegfried
Copy link

Still got the same error from the try2.exe file

@svee4
Copy link
Author

svee4 commented Aug 3, 2023

Same for me, shows the same message as before.

@BustedSec
Copy link

BustedSec commented Aug 4, 2023

I tried the two executables uploaded and had the same behavior happen. Perhaps it's best to comment out the function that checks for the .net framework and replace it with a dialog box saying this software requires .net framework, such as "if you get an error message such as 'This application could not be started' then you should download the framework from " or something to that nature.

@InsanePanda
Copy link

Same issue for me

@Ryochan7
Copy link
Owner

Seriously wondering if this is all just stemming from Windows Defender refusing to allow the helper executables to launch on other people's machines since they are not signed? If it were not for the value enumeration, I would just move the .NET Runtime registry check into the install script. I guess I can just not have the install script exit if it fails to find the registry value.

@BustedSec
Copy link

I would remove the check completely and just put a popup letting the user know that the program requires .net framework.

@garberlog
Copy link

So, is there a solution to this problem yet? As I just tried to use the installer and got this same issue.

@svee4
Copy link
Author

svee4 commented Aug 15, 2023

So, is there a solution to this problem yet? As I just tried to use the installer and got this same issue.

You can install it manually, see https://ds4-windows.com/get-started/

@BustedSec
Copy link

Grab the latest .zip file here https://github.com/Ryochan7/DS4Windows/releases/download/v3.2.13/DS4Windows_3.2.13_x64.zip and extract it, then just run the thing. Make sure you have .net framework installed or it won't work.

@Ryochan7
Copy link
Owner

Ryochan7 commented Aug 19, 2023

I suck. The installer is busted in at least 3 different ways.

I was mistaken about my current PC being unable to run Windows 10 in a VM. It is a stretch with 8 GB of RAM but it is doable as long as the host OS isn't running much; I got about 2.5 GB of RAM dedicated to the guest OS. Finally had a test target to use and the installer did not work. The primary problem was due to a misunderstanding about how to deal with temporary bundled executables using NSIS in the first place. The .NET install check was failing because the helper executable could not be found.

It was a lot more work to try to resolve the problems with getting the helper executables working properly outside my dev environment. Using the IfErrors call was not the proper check to be using for checking the return code in some cases (when using ExecShellWait). Ended up changing some other checks in the process. Now the installer works in the VM as I originally intended.

I will attempt to get an updated installer posted here later today. Not sure it will actually happen though.

@Ryochan7
Copy link
Owner

Trying this again

DS4Windows_installer_x64_v3.2.13_try3.exe
https://drive.google.com/file/d/168Sn-BfYaNAjm4HK2QVsANJE6uBX01Z6/view?usp=sharing

@Ryochan7
Copy link
Owner

Ryochan7 commented Aug 20, 2023

Already changed it up. Flagged FakerInput as an optional component. Tbf, FakerInput is a mandatory component for my test mappers and it will stay that way.

DS4Windows_installer_x64_v3.2.13_try4.exe
https://drive.google.com/file/d/16xQ2a_Iuy5Mitd_v8_m10AjXXg7xrTi9/view?usp=sharing

@Ryochan7
Copy link
Owner

Again. Used outdated component. Fumbling too much AFK

DS4Windows_installer_x64_v3.2.13_try5.exe
https://drive.google.com/file/d/1Sy5J2RmFPDyzM-haLElaajhMdcelPDMT/view?usp=sharing

@svee4
Copy link
Author

svee4 commented Aug 27, 2023

Still same issue for me with try5

@Ryochan7
Copy link
Owner

At this point, it might be the case that the Visual C++ Redistributable 2015-2022 package is not installed on your system; that package is noted as an explicit system requirement for the test mappers. The two helper executables are compiled against Visual C++ 2019 so you need at least that version installed on your PC. I ended up adding an additional check checking if the first executable failed to launch in the NSIS script and warn the user about it.

Will get an updated link here in a bit.

@Ryochan7
Copy link
Owner

DS4Windows_installer_x64_v3.2.13_try6.exe
https://drive.google.com/file/d/1JRq7B0pEz0C5eRIFnuNOkVEtmMvkrUNB/view?usp=sharing

@BustedSec
Copy link

Tested Try6 and it installed properly, it prompted for additional installer, which completed. Program launched and works fine without requested additional reboot.
2023-08-29 13_43_01-Greenshot image editor

@Ryochan7
Copy link
Owner

That is good news. I got the email notification about the other post and that .NET Desktop Runtime check is bundled in the main executable when targeting the .NET Runtime. That error is actually Microsoft's problem. Maybe a reboot would have been enough to work around that problem.

Also, I uploaded more recent source files for the setup files

https://github.com/Ryochan7/NSIS-Setup-Files

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

9 participants