Files
geomative/GeomativeStudio/.qoder/repowiki/zh/content/安装与配置/安装与配置.md
T
coco df489d5640 a
2026-07-03 16:05:30 +08:00

18 KiB
Raw Blame History

安装与配置

**本文档中引用的文件** - [geomativestudio.nsi](file://Install/geomativestudio.nsi) - [config.ini](file://Install/Geomative Studio/config.ini) - [database_modify.xml](file://Install/Geomative Studio/database_modify.xml) - [version_info.txt](file://Install/Geomative Studio/version_info.txt) - [数据库字段修改记录.txt](file://DB/数据库字段修改记录.txt) - [IAP-GD10.bat](file://Install/Geomative Studio/tools/IAP-GD10.bat) - [License-GD10.bat](file://Install/Geomative Studio/tools/License-GD10.bat) - [project.xml](file://CACHE/project.xml) - [testzone.xml](file://CACHE/testzone.xml)

目录

  1. 系统安装要求
  2. 安装程序工作流程
  3. 安装目录结构
  4. 配置文件详解
  5. 数据库字段修改记录
  6. 配置最佳实践
  7. 常见配置错误排查
  8. 不同部署环境的配置差异

系统安装要求

Geomative Studio 应用程序的安装需要满足以下系统要求:

  • 操作系统Windows 7/8/1032位或64位)
  • 权限要求:必须以管理员身份运行安装程序,NSIS安装脚本通过RequestExecutionLevel admin指令确保安装过程具有管理员权限
  • 运行时依赖:安装程序会自动安装Visual C++ Redistributablevc_redist.x64.exe和vc_redist.x86.exe),这是应用程序运行所必需的C++运行时库
  • 数据库引擎:安装程序包含AccessDatabaseEngine.exe,用于支持Access数据库文件(.accdb)的连接和操作
  • 硬件驱动:安装程序包含GD-10设备的驱动程序,包括STM32 USB CDC驱动(stmcdc.inf)和ST Tube驱动(STtube.inf),支持x86和x64架构

Section sources

安装程序工作流程

Geomative Studio的安装程序使用NSISNullsoft Scriptable Install System)创建,其工作流程如下:

  1. 初始化阶段

    • 设置产品信息(名称、版本、发布者、网站)
    • 配置安装向导界面,包括欢迎页、安装进度页和完成页
    • 设置安装目录为$PROGRAMFILES\GeomativeStudio
    • 验证管理员权限,通过EnsureAdminRights宏检查当前用户是否具有管理员权限
  2. 安装阶段

    • 主程序安装Geomative Studio部分):复制主程序文件、配置文件、数据库文件、日志文件和工具脚本到安装目录
    • 驱动程序安装Drivers部分):复制x86和x64架构的设备驱动程序到相应目录
    • 数据库连接引擎安装DBConntEngine部分):复制Access数据库引擎安装程序
    • 管理员权限配置(ASADMIN部分):在注册表中设置应用程序以管理员身份运行
  3. 条件执行阶段

    • 根据系统架构(x64或x86)执行相应的Visual C++ Redistributable安装程序
    • 根据系统架构执行相应的驱动程序安装程序(dpinst_amd64.exe用于64位系统,dpinst_x86.exe用于32位系统)
    • 执行Access数据库引擎安装程序
  4. 安装后处理阶段

    • 创建卸载程序(uninst.exe
    • 在注册表中写入安装信息,包括程序路径和卸载信息
    • 创建开始菜单快捷方式和桌面快捷方式
  5. 卸载流程

    • 删除所有安装的文件和目录
    • 删除开始菜单和桌面快捷方式
    • 删除注册表中的安装信息
    • 清理安装目录
flowchart TD
A[开始安装] --> B[验证管理员权限]
B --> C[安装主程序文件]
C --> D[安装驱动程序]
D --> E[安装数据库引擎]
E --> F[配置管理员运行权限]
F --> G[根据系统架构安装VC++运行库]
G --> H[根据系统架构安装驱动]
H --> I[安装数据库连接引擎]
I --> J[创建快捷方式]
J --> K[写入注册表信息]
K --> L[完成安装]

Diagram sources

Section sources

安装目录结构

安装完成后,Geomative Studio的目录结构如下:

GeomativeStudio/
├── DB/                    # 数据库目录
│   └── GeoMativeDB.accdb  # 主数据库文件
├── LOG/                   # 日志目录
│   ├── commLog.txt        # 通信日志
│   ├── detect_gd20_log.txt # GD20设备检测日志
│   ├── device_log.txt     # 设备日志
│   ├── td_time_error.txt  # 时间错误日志
│   ├── update_db.log      # 数据库更新日志
│   └── general/           # 通用日志目录
│       └── 20211110.txt   # 日期日志文件
├── tools/                 # 工具目录
│   └── dfu_tools/         # DFU工具目录
│       ├── COPYING.txt    # 版权信息
│       ├── dfu-suffix.exe # DFU后缀工具
│       ├── dfu-util.exe   # DFU实用工具
│       ├── DfuCreateFile.exe # DFU文件创建工具
│       ├── STDFU.dll      # ST DFU动态链接库
│       ├── STDFUFiles.dll # ST DFU文件处理库
│       ├── STDFUPRT.dll   # ST DFU协议库
│       └── STTubeDevice30.dll # ST Tube设备库
├── x64/                   # 64位驱动目录
│   ├── dpinst.xml         # 驱动安装配置
│   ├── dpinst_amd64.exe   # 64位驱动安装程序
│   ├── mdmcpq.inf         # MDM/COM端口驱动信息
│   ├── stmcdc.cat         # STM32 CDC驱动证书
│   ├── stmcdc.inf         # STM32 CDC驱动信息
│   ├── stmcdc_g.inf       # STM32 CDC通用驱动信息
│   ├── STTub30.sys        # ST Tube驱动系统文件
│   ├── sttube.cat         # ST Tube驱动证书
│   ├── STtube.inf         # ST Tube驱动信息
│   └── usbser.sys         # USB串行驱动系统文件
├── x86/                   # 32位驱动目录
│   ├── dpinst.xml         # 驱动安装配置
│   ├── dpinst_x86.exe     # 32位驱动安装程序
│   ├── mdmcpq.inf         # MDM/COM端口驱动信息
│   ├── stmcdc.cat         # STM32 CDC驱动证书
│   ├── stmcdc.inf         # STM32 CDC驱动信息
│   ├── stmcdc_g.inf       # STM32 CDC通用驱动信息
│   ├── STTub30.sys        # ST Tube驱动系统文件
│   ├── sttube.cat         # ST Tube驱动证书
│   ├── STtube.inf         # ST Tube驱动信息
│   └── usbser.sys         # USB串行驱动系统文件
├── config.ini             # 主配置文件
├── database_modify.xml    # 数据库修改记录文件
├── Geomative Studio.exe   # 主程序可执行文件
├── msado15.dll            # ADO数据对象库
├── msadox.dll             # ADOX扩展库
├── upGeoMative.exe        # 更新程序
├── vc_redist.x64.exe      # 64位VC++运行库安装程序
├── vc_redist.x86.exe      # 32位VC++运行库安装程序
└── version_info.txt       # 版本信息文件

Section sources

配置文件详解

config.ini 文件结构

config.ini是Geomative Studio的主要配置文件,采用INI文件格式,包含多个节区(section),每个节区包含特定功能的配置参数。

[UI] 节区

用户界面相关配置:

  • Language:语言设置,1表示中文,2表示英文。此参数控制应用程序的界面语言。

[TRANSFER_INFO] 节区

数据传输和网络相关配置:

  • Url:软件更新服务器地址,用于检查和下载新版本。
  • HomePage:公司主页URL,可能在应用程序中作为链接提供。

[EXPORT_DATA] 节区

数据导出相关配置:

  • 2dDataExpStyle:2D数据导出样式,0表示默认导出格式。

[ONLINE_DEVICE] 节区

在线设备连接配置:

  • RemoteType:远程设备类型,2表示特定类型的在线设备。
  • IP:远程设备的IP地址。
  • Port:远程设备的通信端口。

[ONLINE_VERSION] 节区

在线版本配置:

  • VERID:版本ID,用于标识当前版本系列。

[ONLINE_TIMEZONE] 节区

时区配置:

  • TIMEZONE:时区设置,8表示UTC+8(中国标准时间)。

[CHANNEL_INFO] 节区

通道信息配置:

  • IsMultiChannel:是否多通道模式,0表示单通道,1表示多通道。

[USER_INFO] 和 [USER_Pwd] 节区

用户认证配置:

  • UserID:用户ID,用于身份验证。
  • UserPwd:用户密码,明文存储(存在安全风险)。
  • UserSave:是否保存用户信息,1表示保存,0表示不保存。
  • UserAuto:是否自动登录,1表示自动登录,0表示需要手动登录。

[CROSS_HOLE_CFG] 和 [CFG_X] 节区

跨孔测量配置:

  • Number:跨孔配置数量,6表示有6种预设配置。
  • [CFG_X]:具体的跨孔配置,每个配置包含:
    • Name:配置名称
    • FirstPoleDep:第一电极深度
    • HoleSpace:孔间距

[PLC_SET] 节区

PLC(可编程逻辑控制器)设置:

  • TimeInterval:时间间隔,600表示600秒(10分钟)的间隔。
classDiagram
class ConfigFile {
+string filePath
+readConfig()
+writeConfig()
+validateConfig()
}
class Section {
+string name
+Map~string,string~ parameters
+getParameter(key)
+setParameter(key, value)
}
class UISection {
+int language
+setLanguage(lang)
+getLanguage()
}
class TransferInfoSection {
+string url
+string homePage
+setUrl(url)
+setHomePage(homePage)
}
class UserInfoSection {
+string userId
+string userPwd
+int userSave
+int userAuto
+setUserId(id)
+setUserPwd(pwd)
+setUserSave(save)
+setUserAuto(auto)
}
class OnlineDeviceSection {
+int remoteType
+string ip
+int port
+setRemoteType(type)
+setIp(ip)
+setPort(port)
}
class CrossHoleConfig {
+int number
+CFGSection[] cfgList
+setNumber(num)
+addCFG(cfg)
}
class CFGSection {
+string name
+double firstPoleDep
+double holeSpace
+setName(name)
+setFirstPoleDep(dep)
+setHoleSpace(space)
}
class PLCSetSection {
+int timeInterval
+setTimeInterval(interval)
+getTimeInterval()
}
ConfigFile --> Section : "contains"
Section <|-- UISection
Section <|-- TransferInfoSection
Section <|-- UserInfoSection
Section <|-- OnlineDeviceSection
Section <|-- CrossHoleConfig
Section <|-- PLCSetSection
CrossHoleConfig --> CFGSection : "contains"

Diagram sources

  • [config.ini](file://Install/Geomative Studio/config.ini#L1-L73)

Section sources

  • [config.ini](file://Install/Geomative Studio/config.ini#L1-L73)
  • config.ini

数据库字段修改记录

database_modify.xml 文件

database_modify.xml文件用于记录数据库结构的修改历史,采用XML格式,包含当前版本和预版本的修改信息。

文件结构:

  • current_version:当前数据库版本号
  • pre_version:前一个版本号
  • table:表修改信息,包含:
    • name:表名
    • modify_type:修改类型,1表示增加表,2表示删除表,3表示修改表
  • column:列信息,包含:
    • name:列名
    • is_primary_key:是否为主键
    • value_type:值类型(1:text, 2:Memo, 3:Byte, 4:Integer, 5:Long, 6:Single, 7:Double, 8:Currency, 9:AutoNumber, 10:Date/Time, 11:Yes/No等)
    • attribute_value:属性值(对于文本类型表示长度)
    • index:索引类型(0:无索引, 1:允许重复, 2:不允许重复)
    • is_empty:是否允许为空
    • is_compress:是否压缩

数据库字段修改记录.txt 文件

数据库字段修改记录.txt文件以文本形式记录了数据库字段的修改历史,按日期组织,便于追溯数据库结构的演变。

主要修改记录包括:

  • 2015年6月2日:在td2dcon、td3dcon、td1dcon表中增加bUse字段,用于标记记录的有效性
  • 2015年6月12日:在Td表中增加rect和rect_loc字段,用于记录测试任务的矩形大小和位置;修改Espace和Edistance字段为文本类型
  • 2016年12月2日:在ac、acds、td_spc_attr表中增加10个时窗信息;在cm表中增加发射频率0.03125Hz
  • 2017年9月12日:在project和tz表中加入默认的工程和测区
  • 2017年9月18日:在device表中增加GPS字段;在desetting表中增加CableType、LowPowerAlarm、AutoStack字段
  • 2017年9月23日:新增task_timer表
  • 2017年9月25日:在td表中添加IsAutoGenerate字段
  • 2017年9月26日:在timer_task表中增加PLCID字段
  • 2019年7月4日medium表新增加强梯度装置
  • 2019年7月14日:medium表新增跨孔装置;新增TTaskInfoCoordinetes表用于保存电极坐标信息
  • 2019年12月3日:新增TPictureInfo表存放图片信息;新增TPictureCode表存放岩性编辑图片二维码
  • 2019年12月11日:新增TLoggingTaskInfo表存放新建任务信息;新增TLoggingTaskContent表保存测点数据信息
erDiagram
table "test" {
id AutoNumber PK
col1 Memo
col2 Long
col3 Long
}
table "td2dcon" {
bUse Yes/No
}
table "td3dcon" {
bUse Yes/No
}
table "td1dcon" {
bUse Yes/No
}
table "Td" {
rect Text
rect_loc Text
SkipCable Yes/No
IsAutoGenerate Yes/No
}
table "device" {
GPS Text
}
table "desetting" {
CableType Text
LowPowerAlarm Yes/No
AutoStack Yes/No
}
table "task_timer" {
PLCID Text
}
table "medium" {
加强梯度装置 Yes/No
跨孔装置 Yes/No
}
table "TTaskInfoCoordinetes" {
电极坐标信息 Text
}
table "TPictureInfo" {
图片信息 Text
}
table "TPictureCode" {
二维码信息 Text
}
table "TLoggingTaskInfo" {
测试任务信息 Text
}
table "TLoggingTaskContent" {
测点数据信息 Text
}

Diagram sources

Section sources

配置最佳实践

安全配置

  1. 用户凭证保护:避免在config.ini中明文存储密码,建议使用加密存储或外部认证机制。
  2. 管理员权限:确保安装程序以管理员身份运行,但运行时尽量使用普通用户权限。
  3. 驱动程序签名:确保所有驱动程序都经过数字签名,防止恶意驱动安装。

性能优化

  1. 日志管理:定期清理LOG目录中的日志文件,避免占用过多磁盘空间。
  2. 数据库维护:定期备份GeoMativeDB.accdb数据库文件,防止数据丢失。
  3. 缓存配置:合理配置CACHE目录中的project.xml和testzone.xml文件,提高项目加载速度。

网络配置

  1. 服务器地址:确保TRANSFER_INFO节区中的URL和IP地址正确,能够访问更新服务器和远程设备。
  2. 端口配置:确保ONLINE_DEVICE节区中的端口未被其他应用程序占用。
  3. 时区设置:根据实际地理位置正确设置ONLINE_TIMEZONE节区的TIMEZONE值。

跨孔测量配置

  1. 预设配置:根据实际测量需求,在CFG_X节区中配置常用的跨孔测量参数。
  2. 参数验证:确保HoleSpace(孔间距)和FirstPoleDep(第一电极深度)的值在合理范围内。
  3. 配置管理:通过CROSS_HOLE_CFG节区的Number参数控制预设配置的数量。

常见配置错误排查

安装问题

  1. 权限不足:如果安装失败,确保以管理员身份运行安装程序。NSIS脚本会检查管理员权限并提示用户。
  2. 驱动安装失败:检查系统是否禁用了驱动程序安装,或尝试手动运行dpinst_amd64.exe或dpinst_x86.exe。
  3. VC++运行库缺失:如果程序无法启动,尝试手动安装vc_redist.x64.exe或vc_redist.x86.exe。

配置文件问题

  1. config.ini格式错误:确保文件使用正确的INI格式,节区用方括号包围,参数用等号分隔。
  2. 参数值错误:检查关键参数如IP地址、端口号、用户ID等是否正确。
  3. 文件编码问题:确保config.ini文件保存为ANSI或UTF-8编码,避免中文乱码。

数据库问题

  1. 数据库连接失败:确保AccessDatabaseEngine.exe已正确安装,且GeoMativeDB.accdb文件存在。
  2. 字段缺失:如果程序报错字段不存在,检查数据库字段修改记录,确保数据库结构与程序版本匹配。
  3. 权限问题:确保程序对DB目录有读写权限。

网络连接问题

  1. 无法连接远程设备:检查IP地址和端口是否正确,防火墙是否阻止了连接。
  2. 更新失败:检查Url参数是否正确,网络连接是否正常。
  3. 时区错误:如果时间显示不正确,检查TIMEZONE参数是否与本地时区匹配。

不同部署环境的配置差异

开发环境

  • 配置特点
    • 启用详细日志记录,便于调试
    • 使用测试服务器地址和端口
    • 用户认证可能简化或禁用
    • 数据库使用测试数据
  • 示例配置
    [TRANSFER_INFO]
    Url=http://dev.update.geomative.com/Upgrade/software/V2.0
    [ONLINE_DEVICE]
    IP=192.168.1.100
    Port=8769
    [USER_INFO]
    UserID=testuser
    UserPwd=test123
    

测试环境

  • 配置特点
    • 使用预生产服务器
    • 启用部分日志记录
    • 使用测试用户账户
    • 数据库使用模拟生产数据
  • 示例配置
    [TRANSFER_INFO]
    Url=http://test.update.geomative.com/Upgrade/software/V2.0
    [ONLINE_DEVICE]
    IP=10.0.1.50
    Port=8769
    [USER_INFO]
    UserID=testuser
    UserPwd=securepassword
    

生产环境

  • 配置特点
    • 最小化日志记录,仅记录关键信息
    • 使用正式服务器地址和端口
    • 严格的安全认证
    • 数据库使用真实生产数据
    • 定期备份和监控
  • 示例配置
    [TRANSFER_INFO]
    Url=http://update.geomative.com/Upgrade/software/V2.0
    [ONLINE_DEVICE]
    IP=120.31.131.181
    Port=8769
    [USER_INFO]
    UserID=productionuser
    UserPwd=strongpassword123!
    

Section sources