IoT Insider Preview ISO

Interop Tools - Download the latest arm package and all packages from the Dependencies directory. Install the dependencies first, THEN install the app.

Pageant

Putty



Code: dism.exe /Apply-Image /ImageFile:flash.ffu /ApplyDrive:\\.\PhysicalDriveN /SkipPlatformCheck

First, you'll need to download the Windows IoT Core Insider Preview ISO. Mount it and then install the MSI. Next, you'll need to go into Disk Management (diskmgmt.msc) and create a new 4GB VHD by clicking Action-> Create VHD. Set the location to any place you wish for it to be, set the size to 4GB and keep the rest the same. Pay attention to the disk number shown in the Disk Management screen after you create and mount that VHD (They have a blue drive icon to the left of them).When this is complete, open up an elevated command prompt. Go to C:\Program Files (x86\Microsoft IoT\FFU.Run the following command:Where N is the disk number. At this point, you should start seeing a bunch of volumes created. The MainOS volume is the one we'll care about.Go to that drive and copy the Windows\System32\cmd.exe and Windows\system32\en-us\cmd.exe.mui to your phone's Document's folder.Next step is to open up the Interop Tools app, and tap on the Interop Unlock menu item from the hamburger menu. Select the option to restore NDTKSvc, reboot.When the device comes back up, re-open Interop Tools and this time click on the Registry Editor from the hamburger menu.Enter the following values, then press Write Data:HKEY_LOCAL_MACHINEStringSYSTEM\Controlset001\Control\SSH\Sirepuserdefault-shellC:\Data\Users\Public\Documents\cmd.exeWrite this key tap on the hamburger menu and go to the Registry Browser. Travel toTap the + button on the application bar and make sure the values are set to the following and then press Write:HKEY_LOCAL_MACHINEIntegerSYSTEM\ControlSet001\Control\CIUMCIAuditModeThis actually enables the execution of unsigned executables. This is how we end up making CMD and the other programs work ^_^.Reboot your phone. Wait a good 3-5 minutes before you try doing anything because your phone will be acting very unstable (Some apps crashing, and others working).While you have pageant open and the private key added, open up a putty SSH session to your phone using the username of Sirepuser. You should be delighted at this point (If you did everything correctly) to see a Command Prompt. You should be getting random resource string errors when you try typing DIR, etc and this is due to the fact that we don't have the mui string in the correct place. Let's fix that.running CMD in SSH is very sensitive to keystrokes. If you are typing a command and press backspace even once, then the command won't send at all. It will state that it doesn't recognize what you're doing, so be sure to type these things in FLAWLESSLY (yeah it's annoying)What we want to do now is then copy the cmd.exe to C:\Windows\System32 and the cmd.exe.mui to C:\Windows\System32\en-US. Run the following commands:copy c:\Data\Users\Public\cmd.exe c:\Windows\System32copy c:\Data\Users\Public\cmd.exe.mui c:\Windows\System32\en-USBack on your phone, go back to Interop Tools and click on the Registry Editor. Follow the same exact steps as you did for changing the default-shell key, but make one change:Registry Value Data: C:\Windows\system32\cmd.exeAt this point, restart your putty session and then you'll be good to go with CMD running over SSH asThere was a reason I said to copy off the system32 folder somewhere... If you follow the same process to get the files to your Documents folder and move them over to system32, you can have quite a bit of exes to run from the command line. The easiest thing to do is to use xcopy to get everything there.You can run .NET Console apps in CMD if they are named the following 3 names: TailoredDeploy.exe, WConnectAgent.exe or WConnectAgentLauncher.exe.Make a directory on your SD Card named "test" or put it in the test directory on your phone's C: drive and it should go. Beware that the runtime is weird on the phone and not ALL things are possible to do with a .NET Console app