Announcing AppGameKit for Python!

Started by MichaelUK, March 09, 2018, 18:32:36

Previous topic - Next topic

TomToad

Odd, After a drive search, I have found the missing files in a number of locations.  There is C:\Windows|Sysytem32\downlevel, as well as the Java runtime C:\Program Files\Java\jre1.8.0_151\bin. A few other places have them as well.
------------------------------------------------
8 rabbits equals 1 rabbyte.

adambiser

I'm not sure about the downlevel folder, but on my Win 10 install, I see only api-ms-core files, no api-ms-crt.  The one in the Java JRE folder is its local distribution of the files.

From https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/
Item #6
QuoteApp-local deployment of the Universal CRT is supported.  To obtain the binaries for app-local deployment, install the Windows Software Development Kit (SDK) for Windows 10.  The binaries will be installed to C:\Program Files (x86)\Windows Kits\10\Redist\ucrt.  You will need to copy all of the DLLs with your app (note that the set of DLLs are necessary is different on different versions of Windows, so you must include all of the DLLs in order for your program to run on all supported versions of Windows).

Item 6 links to a web installer for the SDK.  Grab it and run it.  Read on before you deciding whether you want to install or download.

If choosing to download, note the download folder.  Go through the next screen (I chose not to send anonymous data).  From the features list, clear all checkboxes then check "Windows SDK for UWP Managed Apps" (which re-checks a few other options) and click Download.

If you chose install, you're done.  If you downloaded instead of installed, open the download folder.  Here you can run "winsdksetup.exe" to install everything downloaded or open the Installers folder and find the file called "Universal CRT Redistributable-x86_en-us.msi" and run it.  From what I can tell, that is the only part needed and the SDK doesn't include it as a separate installable component.  It installs the files to the default location (C:\Program Files (x86)\Windows Kits\10\Redist\ucrt) and can be uninstalled later if desired.

After Universal CRT is installed, add this open your spec file and modify the "pathex" line so it looks like this:
pathex=['C:\\Path\\To\\Script\\File', 'C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\ucrt\\DLLs\\x86'],
The warnings should now disappear and the files show up in your dist folder.  You might have to delete the build and dist folders that PyInstaller creates before running it against your spec file again.

adambiser

I generated a package with PyInstaller running on Windows 10 Pro x64 with Python 3.6 x86 after installing "Universal CRT Redistributable-x86_en-us.msi" and modifying the spec file as given above.

I then copied the folder to a fresh install of Windows 7 x64 SP 1 running as a VirtualBox VM and can confirm that the package works in it.
The only things I manually installed are the DirectX End-User Runtimes components that AppGameKit requires: Jun2010_XAudio_x86 and Oct2005_xinput_x86, and VirtualBox's guest additions in order to have a compatible 3D driver in the VM, but these items are needed by AppGameKit itself (both tiers 1 and 2).

Removing any of the DLL files from the game folder caused the program to no longer work on the Windows 7 machine, so these files are indeed needed for the rare machine that does not have Universal CRT installed already.  The files provided by Windows SDK for Windows 10 appear to work fine with Windows 7.  I don't have a Windows Vista VM for testing and haven't had time to install Windows 8 onto a VM.

Side note:
AppGameKit for Python will not work on Windows XP because the last Python version for XP is 3.4 and AppGameKit for Python requires 3.6.

TomToad

QuoteC:\\Program Files (x86)\\Windows Kits\\10\\Redist\\ucrt\\DLLs\\x86
It looks like I already have this directory on my drive.  Added the directory to the spec file and now compiles without any warnings.  Now all I need to do is learn Python :)
------------------------------------------------
8 rabbits equals 1 rabbyte.

adambiser

Glad to hear.  Enjoy. :)  Python is a fun language to use, in my opinion.

Pfaber11

#35
Hi guys been trying to install appgamekit for my python but it keeps saying no or words to that effect. Tried pip install appgamekit   and   python -m pip install appgamekit   but doesn't want to know . anybody know where I'm going wrong .
I moved the downloaded files from downloads to users folder where my python stuff is kept is this somehow wrong.
     It's ok found out why it's not working and its due to the fact I'm running a 64 bit version of python and not a 32bit version . why this should be in 2019 I don't know but there you go .
   The reason I didn't use appgamekit in python was I could not follow the documentation very well so was wasting my time . The documentation needs to be first class and it wasn't . The AGK classic documentation is second to none.
HP 15s i3 1.2 upto 3.4 ghz 128 gb ssd 16 gb ram 15.6 inch screen. Windows 11 home edition .  2Tb external hard drive dedicated to Linux Mint .
  PureBasic 6 and AppGameKit studio
ASUS Vivo book 15 16gb ram 256gb storage  cpu upto 4.1 ghz