title: Cx_freeze bdist_msi directories syntax? how to interpret 'directory_table'
body: <p>I am having trouble creating new directories with the MSI generated with cx_freeze.  I don't understand the windows direcotry_tables object and there is little to no documentation explaining it.  has anyone had any success with this?</p>
  <p>here is the documentation for the setup script for cx_freeze bdist_msi.</p>
  <p><a href="https://cx-freeze.readthedocs.io/en/latest/setup_script.html#commands" rel="nofollow noreferrer">https://cx-freeze.readthedocs.io/en/latest/setup_script.html#commands</a></p>
  <p>similar windows documentation on 'directory tables'</p>
  <p><a href="https://docs.microsoft.com/en-us/windows/win32/msi/directory-table?redirectedfrom=MSDN" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/windows/win32/msi/directory-table?redirectedfrom=MSDN</a></p>
  <p>I would like my installer to create a directory in C:\ProgramData but I can't figure out what arguments to use in the &quot;directory_table&quot; 3 tuple to do this.  Below is the default example directory table which works with no errors but I am not sure where the directory is actually put.</p>
  <pre><code>directory_table = [
      (&quot;ProgramMenuFolder&quot;, &quot;TARGETDIR&quot;, &quot;.&quot;),
      (&quot;MyProgramMenu&quot;, &quot;ProgramMenuFolder&quot;, &quot;MYPROG~1|My Program&quot;),]
  </code></pre>
  <p>Hopefully someone has run into this previously, thanks for the help.
  below is my setup.py:</p>
  <pre><code>from cx_Freeze import setup, Executable
  import sys
  
  company_name = 'MyCompany'
  product_name = 'TestTKApp'
  
  
  #list of 3-tuples.  need help here. 
  directory_table = [
      (&quot;ProgramMenuFolder&quot;, &quot;TARGETDIR&quot;, &quot;.&quot;),
      (&quot;MyProgramMenu&quot;, &quot;ProgramMenuFolder&quot;, &quot;MYPROG~1|My Program&quot;),]
  
  base = None
  if sys.platform == 'win32':
      base = 'Win32GUI'
      
  build_exe_options = {&quot;includes&quot;: [&quot;testmath&quot;],
                       &quot;path&quot; : sys.path,
                       &quot;include_files&quot;: [(r&quot;PATH\TO\SOME\FILE&quot;,&quot;junk.txt&quot;)],
                       
                       }
  
  bdist_msi_options = {
      # 'upgrade_code': '{66620F3A-DC3A-11E2-B341-002219E9B01E}',
      'add_to_path': False,
      'initial_target_dir': r'C:\ProgramFiles\%s\%s' % (company_name, product_name),
      'target_name' : 'TestTKapp Installer',
      'directories' : directory_table, 
      &quot;summary_data&quot;: {&quot;author&quot;: &quot;Me&quot;,
      &quot;comments&quot;: &quot;Test TKapp&quot;,}
      }
  setup(name='Test Dist App',
        version = ' 1.0.0',
        executables = [Executable(r&quot;C:\PATH\TO\MY\APP\TestTKAPP.py&quot;, base = &quot;Win32GUI&quot;)],
        options={'bdist_msi': bdist_msi_options,
                 'build_exe': build_exe_options},
        )
  </code></pre>