Announcement

Collapse
No announcement yet.

Steam distribution of UDK apps problematic since February

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Steam distribution of UDK apps problematic since February

    UDK games used to be distributable by:

    -using UnrealFrontEnd to package an installer
    -running the installer
    -zipping up the output of the installer and distributing *that*, trusting the user/some other process to handle installing prerequisites so the game didn't crash.
    To put it another way installs of UDK were portable.

    As of (I think) the February 2013 build of UDK, for some reason, UDK (packaged games, but also just UDK) is dependent on some registry keys to run. This means UDK isn't portable anymore. If you copy+paste an install of a UDK game between PCs, it will crash on any PC that hasn't run the actual UDK installer for that build in that directory. As far as I can tell this means UDK games can't ship on Steam (or Desura or similar services). The best we could do is use Steam to distribute the UDK-packaged installer, which I'm sure would be against Steam's rules. Or, possibly package a .reg or have Steam add the appropriate registry keys, which is not a usual part of the process and might not be possible.

    More technical **** about the registry stuff, possibly mistaken on some things, but y'know:
    as far as I can tell when a UDK app is installed it adds a folder in the registry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Uninstall\UDK-619b222a-af5f-43f4-94bb-fe51efd0dfb7" where the string of numbers is the InstallGuidString also found in Binaries/InstallInfo.xml for that app.

    If you copy an install of UDK to another PC (or, say, someone downloads it through Steam) that folder in the registry doesn't exist. On the new machine you can get the game running by using regedit to manually set up that folder and its keys, but you know...can't ship a game like that.

    #2
    you can try one thing, if the problem is the registry keys, then make a bat that changes those registry keys, if you know your Install info has the key UDK-619b222a-af5f-43f4-94bb-fe51efd0dfb7, then just create the correct .Reg file that adds that EULA stuff manually, and run that when the game installs, that way you bypass that. .Reg files modify the registry with a click, just make one that installs the correct keys

    Comment


      #3
      Probably going to end up doing something like that. Problems: running a .reg through a .bat would bring up the "do you want to add these keys to the registry" confirmation dialogue (and presumably need admin privs), ****ing with our chi. And the reg keys aren't generic, they need to be correct to the path the game's in. Probably just a matter of being better at writing batch files than I am though.

      Comment


        #4
        So Steam has a thing for this called installscript, which lets you write registry keys when the game runs. Unfortunately it puts all the keys it writes under the Wow6432Node path in the registry. This is presumably okay for every other application, but not UDK - UDK just keeps looking in the wrong place and crashes.

        Only other thing I have up my sleeve right now is a .bat file that deletes InstallInfo.xml, which has the unhappy side-effect of making the user accept the UDK EULA every time.

        Additionally, running UDK apps through ContentPrep, Steam's Mac build prep tool, breaks them completely. Crash.

        Comment


          #5
          I'm having the same problem with my game, Paranormal and its Steam build.

          Comment


            #6
            Re that Mac problem I mentioned: using --nowrap on ContentPrep fixed that.

            Comment


              #7
              This issue can be fixed, it turns out, by replacing Unsetup.exe with a version from a 2012 UDK build. Responsibility for this discovery lies with @Wraiyth

              Comment


                #8
                I'm glad you found a workaround. The eye is upon this issue and I'm investigating what can be done.

                Comment


                  #9
                  This thread has been dead for awhile now, but as near as I can tell no fix to this was ever introduced. I'm running into the same problem except Im using UDK July 2013 and was wondering if anyone has a fix that works. The workaround suggested in this thread doesn't seem to be working in July-2013 build. Is there any chance this was fixed in Feb-2014? As is, replacing the UnSetup with an older on creates an installer that fails to launch. I tried using the alternate manifest files as well but that was to no avail.

                  This is a very serious issue for me as I'm trying to get my build working on Steam. If anyone has any input (or perhaps further instructions on how to get the UnSetup workaround to work) it would be incredibly helpful.

                  Comment

                  Working...
                  X