So you woke up today and decided to do something that MS never thought you'd try: to add your Win10 apps to Steam. Well, you'll discover damn near instantly that this shit isn't simple. Steam will keep farting out catastrophic failure one after the other until you decide that this minute or two of your life has been thoroughly wasted. Well, buddy, have I got good news for you! If you have another few minutes of your time still free and aren't already fucking up puzzles in The Witness or walking around with a confiscated stereo in Firewatch then I've got a guide that should take care of you just fine.
First, a couple of notes. I could be totally wrong about the following and truthfully I haven't fucked around with this Win10 stuff for these things to be definitive but i'll post the following anyhow to avoid having to answer any questions:
- Win10 apps do not play well with BPM. As a matter of fact, BPM seems useless with Win10 stuff
- This also includes everyone's favorite customizable pad, the Steam Controller. Win10 apps AFAIK can only detect it in its very basic mode. Configs do not appear to work
- Last, and again AFAIK, Win10 apps all open in windowed mode. You can set them to fullscreen by hitting a icon on the taskbar. If there's a way to force fullscreen then cool, i honestly haven't looked into it.
So, now that all that has been taken care of: Let's get to work! Before we do,
i'd like to credit this guide and
this guide from which i will pull bits from to cobble this thing together. They deserve a majority of the credit for this, i'm just putting it together and like adding another 5-10% of my own tips. I'll be pulling from them verbatim in parts from here on out because i'm lazy...
So first things first, let's create the bat to exe conversion tool. Open up Notepad and paste the following code:
Code:
;@echo off
; rem https://github.com/npocmaka/batch.scripts/edit/master/hybrids/iexpress/bat2exeIEXP.bat
;if "%~2" equ "" (
; echo usage: %~nx0 batFile.bat target.Exe
;)
;set "target.exe=%__cd__%%~2"
;set "batch_file=%~f1"
;set "bat_name=%~nx1"
;set "bat_dir=%~dp1"
;copy /y "%~f0" "%temp%\2exe.sed" >nul
;(echo()>>"%temp%\2exe.sed"
;(echo(AppLaunched=cmd.exe /c "%bat_name%")>>"%temp%\2exe.sed"
;(echo(TargetName=%target.exe%)>>"%temp%\2exe.sed"
;(echo(FILE0="%bat_name%")>>"%temp%\2exe.sed"
;(echo([SourceFiles])>>"%temp%\2exe.sed"
;(echo(SourceFiles0=%bat_dir%)>>"%temp%\2exe.sed"
;(echo([SourceFiles0])>>"%temp%\2exe.sed"
;(echo(%%FILE0%%=)>>"%temp%\2exe.sed"
;iexpress /n /q /m %temp%\2exe.sed
;del /q /f "%temp%\2exe.sed"
;exit /b 0
[Version]
Class=IEXPRESS
SEDVersion=3
[Options]
PackagePurpose=InstallApp
ShowInstallProgramWindow=0
HideExtractAnimation=1
UseLongFileName=1
InsideCompressed=0
CAB_FixedSize=0
CAB_ResvCodeSigning=0
RebootMode=N
InstallPrompt=%InstallPrompt%
DisplayLicense=%DisplayLicense%
FinishMessage=%FinishMessage%
TargetName=%TargetName%
FriendlyName=%FriendlyName%
AppLaunched=%AppLaunched%
PostInstallCmd=%PostInstallCmd%
AdminQuietInstCmd=%AdminQuietInstCmd%
UserQuietInstCmd=%UserQuietInstCmd%
SourceFiles=SourceFiles
[Strings]
InstallPrompt=
DisplayLicense=
FinishMessage=
FriendlyName=-
PostInstallCmd=<None>
AdminQuietInstCmd=
UserQuietInstCmd=
Now save that file as "bat2exe.bat" please make sure you use the quotes so that it saves as a bat file, not as a txt file.
Next, let's create a bat file that opens your windows app. To do this, open notepad and type "start " followed by the name of the app you're trying to start. The name is not always obvious, so follow these steps to figure out what your Win10 app is actually called. There might be a faster and better way of doing this but meh.
- Hit Start and select Settings. Then, select the following
- System
- Default apps
- Choose default apps by protocol
It should look like this:
Then, you should see the following:
So, what you want is whatever is in the first line of your app under "Name". So in this case, if for some godforsaken reason you wanted to add Windows Media Player, its Name is DNLA-PLAYSINGLE.
Now that we have the name of the app (we'll keep using the WMP name for the rest of this guide) we need to create another bat file. Here's what you would type:
Super important that you add the : at the end or else this won't work! Now, save this file as WinApp.bat (no spaces in the name!) and remember the quotes around it again so you don't end up with a txt. Put this in the same folder as your bat2exe file. If you want to test it out, go ahead and double-click your bat to make sure the app you wanted to launch actually launches.
Now we need to open a command prompt. You can do this by pressing start and typing "cmd". Open the command prompt and navigate to where you saved your bat files. For most, that's the desktop:
Code:
cd C:\Users\shortsFortallPeople
\Desktop\
now your command prompt should be pointed at that location, so you can put the following:
Code:
bat2exe.bat WinApp.bat WinApp.exe
This will create a new exe named "WinApp.exe" that executes the code from your bat file, "WinApp.bat". Now, if you fucked up somewhere, you'll still get a file spit out BUT it won't be an exe file. That file won't work! Make sure to follow all the steps until an exe file is produced!
There you go! Now you have an exe that will launch your windows app. You can add that to steam just like any other exe (game>add a non steam game to your library>browse...).
See, that wasn't so bad, right? Right?!?!