# Path: COMTool/parameters.py
# class Strings:
# class Parameters:
#     def __init__(self, locale):
# def get_config_path(configFileName):
#     def save(self, path):
#     def load(self, path):
#     def __str__(self) -> str:
# 
# Path: COMTool/helpAbout.py
# def strAbout():


from cx_Freeze import setup,Executable
from codecs import open
from os import path
from COMTool import parameters,helpAbout
import sys
import traceback
import msilib
============
1、windows的msi安装包文件，本身都带一个install database，包含很多表（用一个Orca软件可以看到）。
2、下面的 Directory、Shortcut都是msi数据库中的表，所以冒号前面的名字是固定的(貌似大小写是区分的)。
3、data节点其实是扩展很多自定义的东西，譬如前面的directories的配置，其实cxfreeze中代码的内容之一，就是把相关配置数据写入到msi数据库的对应表中
参考网址：https://msdn.microsoft.com/en-us/library/aa367441(v=vs.85).aspx
'''
msi_data = {#"Directory":directories ,
            "Shortcut": shortcut_table 
          }

# Change some default MSI options and specify the use of the above defined tables
#注意product_code是我扩展的，现有的官网cx_freeze不支持该参数，为此简单修改了cx_freeze包的代码，后面贴上修改的代码。
bdist_msi_options = { 'data': msi_data,
                      'upgrade_code': '{9f21e33d-48f7-cf34-33e9-efcfd80eed10}',
                      'add_to_path': False,
                      'directories': directories,
                      'product_code': product_code,
                      'initial_target_dir': r'[ProgramFilesFolder]\%s' % (product_name)}
                      

# GUI applications require a different base on Windows (the default is for a
# console application).
base = None;
if sys.platform == "win32":
     base = "Win32GUI"

#简易方式定义快捷方式，放到Executeable()里。
#shortcutName = "AppName",
#shortcutDir = "ProgramMenuFolder" 
setup(  name = parameters.appName,

# Path: COMTool/parameters.py
# class Strings:
# class Parameters:
#     def __init__(self, locale):
# def get_config_path(configFileName):
#     def save(self, path):
#     def load(self, path):
#     def __str__(self) -> str:
# 
# Path: COMTool/helpAbout.py
# def strAbout():


# Path: cxsetup.py
from cx_Freeze import setup,Executable
from codecs import open
from os import path
from COMTool import parameters,helpAbout
import sys
import traceback
import msilib

============
1、windows的msi安装包文件，本身都带一个install database，包含很多表（用一个Orca软件可以看到）。
2、下面的 Directory、Shortcut都是msi数据库中的表，所以冒号前面的名字是固定的(貌似大小写是区分的)。
3、data节点其实是扩展很多自定义的东西，譬如前面的directories的配置，其实cxfreeze中代码的内容之一，就是把相关配置数据写入到msi数据库的对应表中
参考网址：https://msdn.microsoft.com/en-us/library/aa367441(v=vs.85).aspx
'''
msi_data = {#"Directory":directories ,
            "Shortcut": shortcut_table 
          }

# Change some default MSI options and specify the use of the above defined tables
#注意product_code是我扩展的，现有的官网cx_freeze不支持该参数，为此简单修改了cx_freeze包的代码，后面贴上修改的代码。
bdist_msi_options = { 'data': msi_data,
                      'upgrade_code': '{9f21e33d-48f7-cf34-33e9-efcfd80eed10}',
                      'add_to_path': False,
                      'directories': directories,
                      'product_code': product_code,
                      'initial_target_dir': r'[ProgramFilesFolder]\%s' % (product_name)}
                      

# GUI applications require a different base on Windows (the default is for a
# console application).
base = None;
if sys.platform == "win32":
     base = "Win32GUI"

#简易方式定义快捷方式，放到Executeable()里。
#shortcutName = "AppName",
#shortcutDir = "ProgramMenuFolder" 
setup(  name = parameters.appName,

        author=parameters.author,