What DLL's I have to load for Gobject in cx_freeze
Question: I have a little problem with cx_freeze and hoping one of you can help me. I
have searched trough this wonderfull forum but I can't find the answer. I have
used cx_freeze before with python 3.3 and ktinker and that worked flawless.
Now I made a little tool with a bit more complex gui and tried Glade. Building
the gui with Glade works perfect for me and on Linux and Windows 7 the
application I have made works fine (in python interpreter).

When I run `python setup.py bdist_msi` I don't see any faults but when I try
to run the exe in windows I get this error window: (I can't post images jet)
The last 4 lines are:

    
    
    _load_backward_compatible
    File "ExtentionLoader_gi_gi.py", line 22, in <module
    File "ExtentionLoader_gi_gi.py", line 14, in_bootstrap_
    ImportError: DLL load failed: The specified module could not be found
    

I don't use any plugins, exotic imports so the dll's I have to load are only
the dll's for Gobject. The setup file I have made from an example on this
forum. For my ktinker app I did not have to import any dll.

Finally the question: Is there a list of dll's somewhere that tells me what
dll's I have to add?  
And is there something wrong with my setup.py?

The code is nothing special but if you want to check it:
<https://github.com/EddenBeer/CodeGenerator>

The imports in Python:

    
    
    import csv import sys import datetime  
    from gi.repository import Gtk
    

Installed on Windows 7:

    
    
    Python-3.4.2
    
    cx_Freeze-4.3.3.win32-py3.4
    
    pygi-aio-3.14.0_rev6-setup
    

Setup.py:

    
    
    import os, site, sys
    from cx_Freeze import setup, Executable
    
    ## Get the site-package folder, not everybody will install
    ## Python into C:\PythonXX
    site_dir = site.getsitepackages()[1]
    include_dll_path = os.path.join(site_dir, "gnome")
    
    ## Collect the list of missing dll when cx_freeze builds the app
    missing_dll = ['libgtk-3-0.dll',
                   'libgdk-3-0.dll',
                   'libatk-1.0-0.dll',
                   'libcairo-gobject-2.dll',
                   'libgdk_pixbuf-2.0-0.dll',
                   'libjpeg-8.dll',
                   'libpango-1.0-0.dll',
                   'libpangocairo-1.0-0.dll',
                   'libpangoft2-1.0-0.dll',
                   'libpangowin32-1.0-0.dll',
                   'libgnutls-26.dll',
                   'libgcrypt-11.dll',
                   'libp11-kit-0.dll'
    ]
    
    ## We also need to add the glade folder, cx_freeze will walk
    ## into it and copy all the necessary files
    glade_folder = 'glade'
    
    ## We need to add all the libraries too (for themes, etc..)
    gtk_libs = ['etc', 'lib', 'share']
    
    ## Create the list of includes as cx_freeze likes
    include_files = []
    for dll in missing_dll:
        include_files.append((os.path.join(include_dll_path, dll), dll))
    
    ## Let's add glade folder and files
    include_files.append((glade_folder, glade_folder))
    
    ## Let's add gtk libraries folders and files
    for lib in gtk_libs:
        include_files.append((os.path.join(include_dll_path, lib), lib))
    
    base = None
    
    ## Lets not open the console while running the app
    if sys.platform == "win32":
        base = "Win32GUI"
    
    executables = [
        Executable("CodeGenerator.py",
                   base=base
        )
    ]
    
    buildOptions = dict(
        compressed = False,
        includes = ["gi", "csv", "datetime",],
        packages = ["gi"],
        include_files = include_files
        )
    
    setup(
        name = "Code Generator",
        author = "Ed den Beer",
        version = "1.0",
        description = "Generating copy instructions for RsLogix5000 out of a list with tags in a CSV file",
        options = dict(build_exe = buildOptions),
        executables = executables
    )
    


Answer: My problem is solved. Looking for an answer if found a utility called
ListDlls.exe. In this link is explaned how to use it:
<https://bitbucket.org/anthony_tuininga/cx_freeze/issue/92/pygi-and-cx_freeze-
error>

