shauleiz / vJoy

Virtual Joystick
http://vjoystick.sourceforge.net
MIT License
606 stars 168 forks source link

Windows 10 (1903) version released 22/5/2019 breaks vJoy (now fixed in new release!) #30

Open ZaphodJustSomeGuy opened 5 years ago

ZaphodJustSomeGuy commented 5 years ago

edit This issue now seems to be fixed thanks to some determined effort from jshafer817. See thread below or just jump straight to https://github.com/jshafer817/vJoy/releases for the fixed version. Thanks jshafer817 for helping the community out, saving everyone's sanity.

original message Have been using vJoy for quite some time now (a couple of years?) and unfortunately this latest build of Windows 10 stops it from running. It also will not install if you try to remove and re-install, giving the error "vJoy failed to install". I hope you can find a way to fix this as I have become rather reliant on it for running my GameCube controller on my PC games.

Thank you in advance.

Dark-Yox commented 5 years ago

Same problem for me.. I hope they are going to update it soon

sawamoha20 commented 5 years ago

same problem here .

oleg5552888 commented 5 years ago

У меня таже таже проблема ребенок не может играть

chihpingkuo commented 5 years ago

same here

whoisyouwhoisme commented 5 years ago

Same problem

nefarius commented 5 years ago

To all of you having the issue, please do the following:

In my case the issue is

Device not started: Device has problem: 0x03 (CM_PROB_OUT_OF_MEMORY), problem status: 0xc000009a.

Let's collect some common faults. Thanks.

ZaphodJustSomeGuy commented 5 years ago

I think it has already been fixed simply by compiling the code with Visual Studio 2019, but the final code needs to be signed to allow it to be safely distributed and installed. The original author does not want to pay for a new driver signing certificate.

https://vjoy.freeforums.net/thread/101/windows-1903-install-vjoy?page=1

gps3dx commented 5 years ago

@shauleiz According to this document a PARTIAL solution might be available, that does NOT require being in a constant "testing mode", but only a one time installation through "Disable driver signature enforcement" mode:

  1. the latest vjoy ( with win10 1903 support ) needs to be signed with the OLD CERTIFICATE - even if the cert is expired !
  2. a max of 3 new registry items needs to be added ( see above link ) to the system.
  3. a single reboot into "Disable driver signature enforcement " mode -> install that vjoy ( signed with old cert )
  4. reboot normally to windows.

IMHO, it should work... I currently use win10 1903, and managed to install a driver ( for another device ) using "Disable driver signature enforcement" mode, that has been sign with an expired cert ( that ended at 2010 ) with SHA-1 .... AND IT WORKS after a normal reboot !

Can you please sign latest vjoy with the OLD CERT ? I'm willing to test it and report back.

shauleiz commented 5 years ago

Luckily, I still have my old cert on my machine. If you or someone else is willing to provide me a file to sign I will be glad to sign it.

bramhaag commented 5 years ago

@R-T-B has made a working fork, see https://github.com/R-T-B/vJoy/releases

shauleiz commented 5 years ago

This is the installer. I need to get the compiled driver, then send it back for re-packaging.

On Mon, 24 Jun 2019 at 11:27, Bram Hagens notifications@github.com wrote:

@R-T-B https://github.com/R-T-B has made a working fork, see https://github.com/R-T-B/vJoy/releases

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/shauleiz/vJoy/issues/30?email_source=notifications&email_token=ADGHYJHGRPMHU5XMRNWDKF3P4CAOZA5CNFSM4HPSL7W2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYMFOTA#issuecomment-504911692, or mute the thread https://github.com/notifications/unsubscribe-auth/ADGHYJB2XB4YCOKR4WTJORDP4CAOZANCNFSM4HPSL7WQ .

gps3dx commented 5 years ago

@R-T-B has made a working fork, see https://github.com/R-T-B/vJoy/releases

This is the installer. I need to get the compiled driver, then send it back for re-packaging.

I managed to extract the installer using 'innounp' free tool., and the compiled drivers (x86 & x64) are there. extract innounp.exe in the same dir as vjoy installer, open cmd in that path and run: innounp.exe -x vJoySetupUnsigned1903.exe -d<extracted_folder_name> -m just replace with the name of the folder you want the extract file to enter to. the '-m' option might be redundant, it extracts any embedded files related to the installer operation, like icons images and the installer config.

Please do tell if that helps you. TODA RABA :-)

shauleiz commented 5 years ago

Then I will have to repack and test. No thanks. I will be happy to sign it for you if you want. Just send me the file to sign.

On Mon, 24 Jun 2019 at 19:25, gps3dx notifications@github.com wrote:

@R-T-B https://github.com/R-T-B has made a working fork, see https://github.com/R-T-B/vJoy/releases

This is the installer. I need to get the compiled driver, then send it back for re-packaging. … <#m1566818929351454317> On Mon, 24 Jun 2019 at 11:27, Bram Hagens @.***> wrote: @R-T-B https://github.com/R-T-B https://github.com/R-T-B has made a working fork, see https://github.com/R-T-B/vJoy/releases — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#30 https://github.com/shauleiz/vJoy/issues/30?email_source=notifications&email_token=ADGHYJHGRPMHU5XMRNWDKF3P4CAOZA5CNFSM4HPSL7W2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYMFOTA#issuecomment-504911692>, or mute the thread https://github.com/notifications/unsubscribe-auth/ADGHYJB2XB4YCOKR4WTJORDP4CAOZANCNFSM4HPSL7WQ .

I managed to extract the installer using 'innounp' free tool. https://sourceforge.net/projects/innounp/files/latest/download extract innounp.exe in the same dir as vjoy installer, open cmd in that path and run: innounp.exe -x vJoySetupUnsigned1903.exe -d -m just replace with the name of the folder you want the extract file to enter to. the '-m' option might be redundant, it extracts any embedded files related to the installer operation, like icons images and the installer config.

Please do tell if that helps you. TODA RABA !

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/shauleiz/vJoy/issues/30?email_source=notifications&email_token=ADGHYJEJULBAMSJCRLIXA43P4DYOBA5CNFSM4HPSL7W2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYNPBII#issuecomment-505082017, or mute the thread https://github.com/notifications/unsubscribe-auth/ADGHYJEBUABYQK7UVCGCBLTP4DYOBANCNFSM4HPSL7WQ .

gps3dx commented 5 years ago

@shauleiz Since I don't know which files are needed for the driver to work I zipped files from 2 locations:

  1. the files AFTER installation ( of R-T-B compiled unsigned release of vjoy with 1903 support ) from "c:\Program Files\vJoy"
  2. the files extracted from the INNO installer ( e.i before installing ) - found in the zip under "extracted files" folder.

DOWNLOAD THROUGH WETRANSFER HERE

AFAIK ( please correct me if i'm wrong ), I only need the driver's files to be signed, not the installer or the rest of the vjoy's files. I can always install the complete unsigned installer, then replaced the unsigned drivers in "c:\Program Files\vJoy" with the signed one from you... then manually install them with 'vJoyInstall.exe' or devcon.

I hope this time I uploaded the right files - otherwise please clarify which files you need. Thanks.

R-T-B commented 5 years ago

Hello all. I am glad you are all following up with this. I sadly lost interest after I got stonewalled by nearly everyone I asked in person to help me with a signature and finally just realized I'd have to depend on nefarious on discord; Something unacceptable for our organizations needs (we need an under 6 hour turn around for any future issues, so I advised just dumping the hardware in question for something else. No offense to nefarious but he's just some guy online and I can't ask that kind of demand)

Don't let me deter you though, feel free to fork my code. I really hope you can all get it going for other needs like gaming and such with a valid (even if outdated) signature! Just wanted you to know I'm out, for these purposes. Good luck.

nefarius commented 5 years ago

@R-T-B pardon me, but what have I missed here? Have we ever had contact in any way, shape or form before? This "some guy on Discord" has a registered business and an e-mail address btw. for "serious" conversations.

6 hour turn around? So what? Without an SLA? With FOSS developers? On Discord? What? 😅 Makes no sense whatsoever...

I have no idea how I was dragged into this "retirement" post but I don't like being confronted with "facts" I know literally nothing about, thank you very much.

Cheers

R-T-B commented 5 years ago

Oy, Nefarious, nice to see you here. No we never spoke and that was intentional on my part. I as I stated, never involved you because yes we need an SLA level of turn around and can't employ anyone further (ie I would never ask you to supply our needs without pay) than me for financial, confidentiality and trust reasons (understand, my client works in a court with high level security requirements. We used vjoy to work with very old footpedals via a custom feeder app I am the author of).

Yes, my requirements and situation are unique, but over. A cost analysis was done and new hardware is cheaper. A new hardware purchase covered our needs.

I don't mean any ill towards you with my statements. You just never were an option to begin with, due to several factors beyond my personal control. I am sure you are in actuality, probably a better coder than me. I also only referenced you because other people kept asking why I never contacted you and I felt I owed them and perhaps you an explanation for my strange rejection of your generous offer. Peace.

"Makes no sense whatsoever..."

Aye, I'd say more but... no. I like my job.

nefarius commented 5 years ago

Alright, that makes things more clear now, the initial post was IMHO missing some context, thanks for your investment so far and have a good one 🙂

R-T-B commented 5 years ago

Yep, this issue is spread all over and it's easy to lose context and get lost. Sorry about that.

Anyhow, I still would support the project by providing compiled, unsigned drivers. Presumably that's what you would need for signing this? Or shaul above? I know the ones linked so far are "test signed" with my selfsigned certs and that will probably muck things up.

Otherwise you can work with the mess I have on github to produce your own properly signed builds. My build environment was Windows 10 1903 and VS Community 2019... Beware, so much cleanup needed in terms of whitespace, etc, but it does work.

jshafer817 commented 5 years ago

I am going to sign this.. I use it so I have to get it signed. I had a friend donate, another will soon. https://www.gofundme.com/f/code-signing-app-for-vjoy

jshafer817 commented 5 years ago

We are now at $390.. soon as I get a check in.. I will sign it. Since the code cert will be in my business name (they verify with dun and bradstreet, etc) I am going to add the patch to drivers.c and sign it. But it will be signed.

AUSDoug commented 5 years ago

Just did $21 to put you across the line

AstonMartinDBS commented 5 years ago

Whow, $ 486/450 reached. Is there any need to fund? I wanna support the project, too! I need vJoy for my X52 Pro (jittering slider) and DCS under W10 1903 again!

Sirocco88 commented 5 years ago

I use vJoy too for GameCube, I totally support the project ! Big thanks from France ! :)

Fuzzwah commented 5 years ago

@jshafer817 thanks for taking this on, I'm wondering if you could share a ballpark guess on the timeline until a signed release?

jshafer817 commented 5 years ago

I just finished signing the agreement, after showing digi-cert my sales tax stuff.. then my mortgage and bank statement.. then had an attorney attest to who I am.. 3 more days????

Fuzzwah commented 5 years ago

Awesome! Thanks again for jumping through these hoops to get this sorted.

Bahnzo commented 5 years ago

Crazy the hoops required to jump thru to allow a free program to work on windows. MS really have the market locked down, don't they?

nefarius commented 5 years ago

Doesn't really have anything to do with free or commercial, Microsoft really wants to clamp down on who can ship kernel binaries as they literally run with highest privileges and can crash the machine at best or could run malicious parts. I understand both sides.

NomDeMorte commented 5 years ago

Doesn't really have anything to do with free or commercial,

As can be seen from up there, it is impossible for a non-commercial entity to get this done. Even if that entity is able to pay for it, which is often unlikely. We're just fortunate that a commercial entity was willing to help us. (thank you jshafer817 you're a legend)

Meanwhile, a commercial entity which has less noble intentions could have their software signed easily.

I recognise that there are security issues to consider, and they are very real... but this is not the answer.

evilC commented 5 years ago

Oh, I didn't see the requests for funds go out, shoulda pinged it in the Discord channel...
Thanks to all who donated, ping me if you need any more funds...

jshafer817 commented 5 years ago

Got the certificate.. Sorta. Waiting for my yubikey to arrive so I can start code signing with it... Not used to signing anything from .. a token. Learn something new everyday.

nefarius commented 5 years ago

@jshafer817 get ready to create a Microsoft Partner account, an Azure AD tenant and agreeing to a few contracts within the Hardware sections in the portal.

@NomDeMorte just my two cents, since I'm affected by the restrictions myself but wanted to point out that free vs. commercial isn't an argument in this case.

jshafer817 commented 5 years ago

I created it already.. ;)

On Fri, Jul 12, 2019 at 11:35 AM Benjamin Höglinger < notifications@github.com> wrote:

@jshafer817 https://github.com/jshafer817 get ready to create a Microsoft Partner account, an Azure AD tenant and agreeing to a few contracts within the Hardware sections in the portal.

@NomDeMorte https://github.com/NomDeMorte just my two cents, since I'm affected by the restrictions myself but wanted to point out that free vs. commercial isn't an argument in this case.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/shauleiz/vJoy/issues/30?email_source=notifications&email_token=AA6CD2K5YYPFG7EV4NQUNRTP7CXFHA5CNFSM4HPSL7W2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZ2IDKI#issuecomment-510951849, or mute the thread https://github.com/notifications/unsubscribe-auth/AA6CD2K742LO4LGOUTL65F3P7CXFHANCNFSM4HPSL7WQ .

-- Justin Shafer Onsite Dental Systems 7704 Sagebrush Ct. S. North Richland Hills, TX. 76182 (817) 909-4222

NomDeMorte commented 5 years ago

free vs. commercial isn't an argument in this case.

I'm more inclined to believe you than not because you obviously know some about this, but the experiences of everyone involved here suggest otherwise. So, I checked into it. Literally every website I checked (Which is all of them that MS list as options, plus a few others) said that to get an EV cert you needed to provide business registration paperwork.

This is probably not the place for such a discussion, I think it's blown out from an understandable venting about the near-death experience of beloved software, but if you'd like to drop me a quick link to a place an individual can obtain an EV code signing cert which is recognised by MS, I'd be very interested :)

We might just need it in a couple years when this cert expires :/

nefarius commented 5 years ago

@NomDeMorte an individual can not acquire an EV cert and I never stated that.

I was commenting on that it doesn't matter if a driver is free or result of a commercial product, the hoops you get to jump through stay the same. They are annoying and hostile to independent developers but then at the same time I can kinda understand Microsoft. In the Windows XP era every derp could ship kernel binaries, no matter the quality or maintenance. I you f up in kernel land, the system will crash. That's one big reason Windows got the reputation of being more unstable than competitors while a big chunk of that is contributed to shitty third-party kernel code.

Aman-Anas commented 5 years ago

Dropping into this thread just to let everyone that there is in fact a big demand for vJoy, (a lot of people use it) and it's great that it's finally hopefully going to be working again soon with the new Digital Signature. Been lurking this thread for a while, lol.

Also I kind of wish you could install unsigned drivers without test mode, even if there were multiple "locked gates" you had to get through. At least having the option to would be very good for power users and keep "average" users from messing up their system

jshafer817 commented 5 years ago

https://github.com/jshafer817/vJoy/releases/tag/2.1.9.1

Cross signed.. just got the token 20 minutes ago to code sign. Seems to work on 1903. Will go through attestation signing next.. Saturday, but give this a whirl?

nefarius commented 5 years ago

@jshafer817 cool! FYI cross-signing will indeed work on Windows 10 1903 as long as SecureBoot is off.

You can then attestation sign it to get around that as well. Good luck!

jshafer817 commented 5 years ago

Ahhh.. okay.. Thanks! Time to do the next step.

jshafer817 commented 5 years ago

Had to do this to get the partner channel to accept the inf.. it is processing..

[SourceDisksFiles] vjoy.sys = 99 hidkmdf.sys = 99 WdfCoInstaller01009.dll=99

[DestinationDirs] CopySystemSysFiles = 12
CopyFunctionDriver = 12
;CopyFilterDriver = 12
CopyFilesDLL = 11 vjoy.Inst_CoInstaller_CopyFiles = 11

[CopyFunctionDriver] vjoy.sys hidkmdf.sys

jshafer817 commented 5 years ago

https://github.com/jshafer817/vJoy/releases/tag/2.1.9.1 This has been attestation signed. Should be good. ?

jshafer817 commented 5 years ago

I updated it to InnoSetup 6 just now because of some shell error in innosetup.. so.. should be good.

djscott00 commented 5 years ago

@jshafer817 : So I'm finding that the installer is hanging at a 100% progress bar:

hanging_installer

If I forcibly kill the vJoyInstall process, then it follows up with a "successful" message. Everything seems to be working correctly for me after that with Joystick Gremlin.

I observed this issue with the installer before during other tests. So I think it's been a lingering problem with the installer and not an issue related to signing.

djscott00 commented 5 years ago

@jshafer817 All that aside, thank you so much for getting something signed that works for the interim! I just sent another $20 to the GoFundMe.

jshafer817 commented 5 years ago

Unless I am wrong, I have noticed on some computers that the install hangs.. But this isn't anything new.. Wait for it to finish. =) Thanks for the donation. I wonder if it has to do because it was previously installed? I usually only see it hang if it is Windows 7.

shauleiz commented 5 years ago

So why not limit installation to Windows 10? Original vJoy is OK for Windows 7.

On Sat, 13 Jul 2019 at 23:14, jshafer817 notifications@github.com wrote:

Unless I am wrong, I have noticed on some computers that the install hangs.. But this isn't anything new.. Wait for it to finish. =) Thanks for the donation. I wonder if it has to do because it was previously installed? I usually only see it hang if it is Windows 7.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/shauleiz/vJoy/issues/30?email_source=notifications&email_token=ADGHYJD6PJT33MPKVP3QPILP7IZRTA5CNFSM4HPSL7W2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZ3YUJA#issuecomment-511150628, or mute the thread https://github.com/notifications/unsubscribe-auth/ADGHYJAHY7TVLBXBMLJIZDLP7IZRTANCNFSM4HPSL7WQ .

jshafer817 commented 5 years ago

That's what I did... =)

@setlocal enableextensions @cd /d "%~dp0"

for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j if "%version%" == "10.0" GOTO 10 ELSE GOTO NOT10

:NOT10 wget -i url.txt --no-check-certificate vJoySetup.exe GOTO END

:10 wget -i url10.txt --no-check-certificate vJoySetup.exe GOTO END

:END

djscott00 commented 5 years ago

Unless I am wrong, I have noticed on some computers that the install hangs.. But this isn't anything new.. Wait for it to finish. =) Thanks for the donation. I wonder if it has to do because it was previously installed? I usually only see it hang if it is Windows 7.

In my case, the installer sits there indefinitely until I forcibly kill it. No amount of waiting time results in it finishing.

I did have a previous installation of vJoy before I updated to 1903, so I think it's tied to that. Prior to this installation today I had uninstalled and then did a sweep of my registry.

R-T-B commented 5 years ago

Congrats on getting an EV signing cert, jshafer817! I as a fellow gamer using vjoy am glad to see someone stepped up. :)

Re the installation issues: if you have had mine installed previously, please find the device in device manager, right click it, and uninstall "deleting driver files" That should clear up residual driver bits that may cause issues. Then use the uninstaller as usual.

If you already failed to do that and are getting hangs, maybe try reinstalling mine (yes, testsigning and all) and then removing it as per the above directions.

I have a feeling W10 is finding my driver, seeing the high version number I used, and attempting to load it first. So we must ensure it is scrubbed out completely.

Just a theory,

-RTB