Results 1 to 6 of 6
  1. #1

    Default Unreal Frontend isn't including my custom dll in cooked version.

    Hello Everyone,

    I am using custom dll in my Game, and it works great if I run it through Visual Studio ( I mean in development mode ). But as soon as I cook it with Unreal Frontend, my custom dll function calls doesn't working. After debugging and researching a lot I figured of that it is because Unreal Frontend couldn't include my custom dll's.

    Things I tried/I have done:
    1) I am using my custom dll through DLLBind in the code, so I assume unreal should automatically be able to detect that I am using custom dll. Because this post says that Unreal frontend doesn't include dll if it can find one. Also I tried to modify UDKGame\Build\CookerSync_Game.xml as per the post ( even tho I fell this is not required ).

    2) I am sure that I included my custom package to DefaultEngine.ini, as per this link

    Is there something wrong that I am doing?
    help is really appreciated.

  2. #2
    Deathless
    Join Date
    Jun 2010
    Location
    Germany
    Posts
    2,293

    Default

    every time I've heard about this issue everyone came to the same conclusion: there's no way to include custom dll's using UnrealFrontend, so you'd need to copy them over manually and create a custom installer instead of the one that UnrealFrontend creates for you

    in the past I've been able to include custom files (a custom ini not used by any class) by modifying Binaries/Unsetup.Manifests.xml, however I've never tried it with a dll and even as I suggested it to someone he claimed it didn't work

  3. #3

    Default

    Hey Chosker,

    Thank you so much for the response.

    every time I've heard about this issue everyone came to the same conclusion: there's no way to include custom dll's using UnrealFrontend, so you'd need to copy them over manually and create a custom installer instead of the one that UnrealFrontend creates for you
    Yeah that's what it sounds like.

    in the past I've been able to include custom files (a custom ini not used by any class) by modifying Binaries/Unsetup.Manifests.xml, however I've never tried it with a dll and even as I suggested it to someone he claimed it didn't work
    Can you please elaborate on this please. I would like to try once. Even if it doesn't work, I can at least learn something from it

  4. #4
    Deathless
    Join Date
    Jun 2010
    Location
    Germany
    Posts
    2,293

    Default

    just open Binaries/Unsetup.Manifests.xml, scroll down to the section called <GameFilesToInclude>, and add a new line like so:
    <string>Binaries/Win32/UserCode/myLib.dll</string>

  5. #5
    MSgt. Shooter Person
    Join Date
    Aug 2011
    Location
    Utah, USA
    Posts
    44

    Default

    Like Chosker said, a lot of people have run into this problem and nobody seems to know why this is happening. I did some research and some experimentation and found out what's going on. The problem is, the UnrealFrontend won't list a dll file (or an exe file for that matter) in the Binaries\InstallData\GameManifest.xml if it isn't digitally signed. If the file isn't listed in that manifest, it won't get packaged.

    So, what you need to do is add a line to the Binaries\UnSetup.Manifests.xml file in the GameFilesToInclude tag that looks like this:

    HTML Code:
    <string>Binaries/Win32/UserCode/(.*).dll</string>
    This will tell the FrontEnd to add the file names of all the dll files that it finds in the UserCode folder to the GameManifest.xml file (as long as they're signed). Next you actually have to digitally sign the dlls using a certificate you purchase from a valid Certification Authority (such as DigiCert or GoDaddy), but unfortunately, they aren't cheap. Once you have the certificate, you can sign your dlls using Microsoft's SignTool. Once that's all done, you just run the FrontEnd like normal and the dlls should get included in the installer.
    Last edited by mavrik73; 02-21-2013 at 12:40 PM.

  6. #6

    Default

    Hello Mavrik,

    Thanks for the response and detailed explanation. That totally make sense

    Next you actually have to digitally sign the dlls using a certificate you purchase from a valid Certification Authority (such as DigiCert or GoDaddy), but unfortunately, they aren't cheap. Once you have the certificate, you can sign your dlls using Microsoft's SignTool.
    Unfortunately, I dont have a certificate right now. But I will look into it.

    -Madhu


 

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Copyright ©2009-2011 Epic Games, Inc. All Rights Reserved.
Digital Point modules: Sphinx-based search vBulletin skin by CompletevB.com.