ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

NGPower_Ng V6.1.00安装配置与故障排查实战

NGPower_Ng V6.1.00安装配置与故障排查实战 简介这份安装包对应NGPower_Ng_V6.1.00新中大财务软件银色快车6.1版适合财务信息化实施人员、企业财务人员及相关运维人员使用。软件覆盖核算单位、财务处理系统、报表处理系统三大基础模块可用于建账、记账凭证录入与审核、记账、月结和报表输出等日常账务全流程操作。包内文件共1905个以878个SQL数据库脚本、305个PB开发相关文件、85个INI配置及较多PBD数据库驱动库为主配合EXE可执行程序、DLL动态库和JPG界面截图等基本还原软件部署与运行环境。压缩包整体147.31MB还包含DAT数据文件、TXT说明、HTM帮助页面等辅助内容便于安装调试、账套初始化和熟悉功能界面。目前已有1124人学习下载借助完整包体与示例数据库用户可以快速体验从建账、登账到出报表的完整业务链路是学习或维护新中大财务软件的一份可操作参考。1. NGPower_Ng V6.1.00这台财务服务器上唯一没被替换掉的老程序财务部年终关账的前一天老会计还在用NGPower_Ng V6.1.00录入最后一笔凭证。这个新中大财务软件的安装包在你接手IT运维之前就已经躺在那台Windows Server 2008上跑了快十年。它不是新一代的云财务系统而是一个典型的C/S架构桌面客户端V6.1.00是它的发行版本号NGPower_Ng代表新中大当时基于.NET或原生Win32封装的一套财务核算组件。这篇文章要讲清楚的就是当这样一份安装包落到你手里——不管是历史遗留系统的迁移、虚拟机重建还是新入职后第一次被叫去处理“财务软件打不开”——你该怎么把环境检查、组件安装、数据源配置和故障排查整条链路走通。适合所有需要维护老财务系统的IT人员如果你以为安装包就是双击next那后面的坑你大概率会踩一遍。2. 安装前的环境检查先把Windows版本、位数和数据库实例对齐2.1 为什么老安装包对环境这么挑剔NGPower_Ng V6.1.00发布于.NET Framework 2.0/3.5盛行的年代默认编译目标是x86。它的客户端组件、报表控件和打印模块都基于32位进程而财务数据存储则依赖独立的数据库服务。如果你在一台64位Windows Server 2016以上系统上直接运行安装程序最常遇到的不是安装失败而是装完之后登录时提示“无法加载控件”或“连接不到数据服务”。根本原因在于三处一是32位组件在64位系统上被重定向到SysWOW64注册表路径从HKLM\SOFTWARE变成了HKLM\SOFTWARE\Wow6432Node二是新中大报表模块依赖的VC运行库版本过旧Windows 10以上的系统默认不带三是安装包检测不到指定版本的数据库客户端时会跳过数据源配置步骤导致后续首次登录直接报错。2.2 用命令确认系统基础参数在动手装之前我一般会先用三条命令把系统的“底细”摸清楚systeminfo | findstr /B /C:OS Name /C:OS Version /C:System Type这段命令通过systeminfo获取完整系统信息后用findstr过滤出系统名称、版本号和系统类型。System Type末尾如果是x64-based PC就说明是64位系统但注意这并不能代表32位组件可以正常运行还要看注册表里Wow6432Node是否存在。接着检查.NET环境Get-ChildItem HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP -Recurse | Where-Object {$_.PSChildName -match ^(v\d|Cumulative)} | Get-ItemProperty -Name Version, Release -ErrorAction SilentlyContinue | Select-Object PSChildName, Version, Release这条PowerShell命令递归读取NDP注册表键把已安装的.NET版本全部列出来。新中大V6.1.00的客户端在.NET 2.0和.NET 3.5上最稳定如果你看到v4.0以上的完整版本号建议先开启Windows功能里的.NET Framework 3.5否则部分历史报表组件会静默失效。数据库实例的确认方式取决于你用SQL Server还是Oracle。这里以SQL Server为例sc query | findstr /i MSSQLsc query列出所有Windows服务findstr过滤出包含MSSQL的服务项。新中大财务软件V6.1.00最常见的数据服务连接方式是通过机器名\实例名或IP地址,端口来指定服务名如果显示MSSQLSERVER说明是默认实例如果是MSSQL$NZDATA这种名称后面配置数据源时要写全。2.3 加密狗驱动和杀毒软件要提前排除NGPower_Ng V6.1.00的正式版通常配有一个USB加密狗安装包内会附带对应型号的驱动。但在Windows 10以上的系统上插上加密狗后系统会自动安装微软默认HID驱动导致新中大的服务进程认不到设备。我一般会在安装前做两件事。第一从设备管理器找到未知设备手动指定安装包目录下的\Drivers\NGKey驱动而不是让系统自动搜索。第二把安装目录、数据目录和C:\Windows\SysWOW64\ngpower加入杀毒软件的白名单排除项因为新中大旧版客户端在启动时会向临时目录释放dll并修改Licence.dat杀毒软件对这些行为拦截会造成登录界面卡死或“授权文件不存在”。提示如果财务部有多台电脑安装包本身并不需要每台都做环境检查但数据库连接参数必须每台单独确认尤其是服务器实例名和小写端口号。3. NGPower_Ng V6.1.00 安装包的最小安装流程与参数选择3.1 安装包文件的构成和安装入口一份完整的NGPower_Ng V6.1.00安装包解压后通常包含Setup.exe、Install\子目录、Drivers\加密狗驱动目录以及若干个.msi或.cab组件包。不要直接双击Setup.exe老安装程序在64位系统上经常因为UAC提权失败而中断。正确的做法是右键Setup.exe选择“以管理员身份运行”并且在“兼容性”选项卡里把兼容模式设为Windows 7或Windows XP SP3。如果你在内网批量部署常见做法是使用静默安装参数Setup.exe /s /v/qn REBOOTReallySuppress/s指示安装程序进入静默模式/v将后续参数传递给内部的Windows Installer引擎/qn表示完全无界面安装REBOOTReallySuppress禁止安装结束后自动重启。注意这里的/v后面如果路径有空格要用双引号包裹整段参数否则会当成两个参数传递。装完客户端后还要确认C:\NGPower_Ng目录下是否生成了NGClient.exe和NGPower.ini。如果没有NGPower.ini说明安装程序没有执行配置步骤后面要手工补。3.2 组件选择不要全选默认当安装界面出现组件选择时默认会勾选“客户端程序”、“报表服务”和“数据库连接组件”。这里有一个常见误区在纯客户端电脑上把“报表服务”也装了导致本机多出一个Windows服务开机自启还占用端口和财务部的打印共享冲突。我建议按角色拆财务人员使用的电脑只装客户端和数据库连接组件报表服务只装在文件服务器或数据库服务器上。安装目录也不要选中文路径D:\NGPower_Ng比D:\新中大财务软件更安全老程序对Unicode路径的处理有缺陷到了读取附件凭证时会报“路径未找到”。3.3 安装完成后立即执行的三个验证动作安装过程结束不要急着打开登录界面按顺序做以下三个检查先看安装目录下的Logs\install.log尾部是否包含Installation completed successfully再看注册表项HKLM\SOFTWARE\Wow6432Node\NGPower\V6.1是否存在最后到服务管理器确认名称为NGPower Scheduler的服务是否已创建。下表列出了三个关键文件在安装包中的典型角色和缺了会出现的现象文件/目录典型作用缺失时现象NGClient.exe客户端主程序双击无反应或闪退NGPower.ini数据源和运行时参数登录界面提示“系统配置错误”Drivers\NGKey加密狗驱动提示“软件锁未找到”如果某一项不满足不要重装整个安装包先尝试单独修复对应组件。NGClient.exe缺失可以从其他同版本电脑复制并放到同路径但NGPower.ini不能随便复制因为每台电脑的数据源配置可能不同。3.4 静默安装后的参数回读静默安装虽然省事但有一个副作用它把安装界面上的数据源配置步骤一并跳过了所以装完的电脑还连不上数据库。这种情况下你得手工修改NGPower.ini中的[Database]段[Database] Server192.168.10.15,1433 DatabaseNGBOOK Usersa Password********Server字段支持IP,端口的写法老版本不支持tcp:前缀别画蛇添足。Database是账套库名新中大默认建库名称以NG开头例如NGBOOK或NGACCOUNT。User和Password建议用安装时指定的数据库账号不要用sa跑业务避免密码轮换策略影响。提示修改NGPower.ini之前先备份原文件财务软件的配置项虽然只有几行但错了会导致客户端反复弹“数据源未连接”的报错。4. 数据库连接与ODBC配置V6.1.00的账套库和登录链路4.1 老财务软件为什么另搞一套数据源缓存NGPower_Ng V6.1.00在连接数据库时并不直接使用连接字符串而是先通过ODBC驱动从本地读取一份数据源缓存。这份缓存由NGPower_ODBC.exe在首次配置时写入注册表HKLM\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\NGPowerDSN。很多IT人员手动改了NGPower.ini却发现不起作用就是因为ODBC缓存里的数据源覆盖了配置文件。理解这条链路客户端启动时先读NGPower.ini拿到数据源名称DSN再用这个名称去ODBC注册表找真正的服务器、端口和数据库名最后才建立实际连接。所以配置时要注意两处一致不能只改一头。4.2 手工创建账套库的SQL脚本如果数据库服务器上还没有新中大的账套库安装包内的Database\CreateDB.sql可以创建基础结构。但该脚本默认建在master库上下文且不允许指定文件路径。我一般会先手工建库再执行脚本CREATE DATABASE [NGBOOK] ON PRIMARY ( NAME NNG_BOOK, FILENAME ND:\MSSQL\Data\NGBOOK.mdf, SIZE 512MB, FILEGROWTH 256MB ) LOG ON ( NAME NNG_BOOK_log, FILENAME ND:\MSSQL\Log\NGBOOK_log.ldf, SIZE 128MB, FILEGROWTH 64MB ) GO这段SQL先把数据文件放到非系统盘避免C盘空间不足导致事务日志爆掉。SIZE和FILEGROWTH的设定要注意老财务软件在结转期间会产生大量临时数据日志文件预分配128MB并自动增长64MB是常见做法设得太小会导致结转卡死。建库完成后用sqlcmd或者SSMS打开CreateDB.sql运行前务必在文件头部加上一行USE [NGBOOK]否则所有表会被创建到master库登录时提示“对象名无效”。4.3 用命令行配置ODBC数据源在新电脑上安装完客户端后最快配置ODBC的方式是使用odbcad32.exe图形工具但批量部署时用命令行更可控。以64位系统上的32位ODBC为例c:\Windows\SysWOW64\odbcad32.exe /reg/reg参数会重新注册系统中残留的ODBC驱动。真正建DSN需要通过注册表写入常见做法是导入以下.reg文件Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBC.INI\NGPowerDSN] DriverC:\\Windows\\SysWOW64\\SQLSRV32.dll Server192.168.10.15,1433 DatabaseNGBOOK LastUserfinance其中Driver必须指向SysWOW64下的SQLSRV32.dll这个是32位SQL Server ODBC驱动在64位系统上位于该路径。Server和Database的值要与NGPower.ini中的配置保持一致。注意LastUser这个键不是必须的但某些版本会读取它做登录界面默认账号显示。导入后到命令行窗口敲c:\Windows\SysWOW64\odbctest.exe在弹出界面里输入DSNNGPowerDSN并测试连接如果显示Connection successful就说明数据链路已经通了。4.4 登录链路常见卡点配置完ODBC后客户端登录界面还是会偶发“无法连接服务器”的报错。此时先区分是网络问题还是认证问题。用telnet验证端口通不通telnet 192.168.10.15 1433如果光标停在空白处说明端口通如果提示“连接失败”依次检查SQL Server服务状态、防火墙入站规则和SQL Server Browser服务。老安装包还有一个特殊点它默认使用named pipes协议优先于TCP/IP如果SQL Server配置管理器里禁用了命名管道连接会异常慢。提示SQL Server 2012以后的实例默认不开启sa账号的外部登录新中大V6.1.00建账套时用的账号如果被锁定登录界面会提示“用户登录失败该用户与可信SQL Server连接无关联”。先去SQL Server里把账号状态改为“启用”再授予sysadmin角色。5. 安装完成后的验证与高频故障处理5.1 五条命令验证安装结果装完之后别急着交给财务先用一组命令做最终确认Get-Service | Where-Object {$_.Name -like *NGPower* -or $_.Name -like *NG*Scheduler*}这条PowerShell命令会列出所有与新中大相关的Windows服务重点检查状态是否为Running。如果服务没有启动手动启动后再次查看仍然停止则到系统事件查看器找来源为Service Control Manager的错误日志。接着验证加密狗是否被识别wmic path Win32_Devices where DeviceID like USB\\VID_096E% get DeviceID,StatusVID_096E是常见加密狗厂商的USB Vendor ID不同批次可能不同。如果这条命令查不到设备说明驱动没装好或加密狗损坏如果能查到但状态不是OK尝试拔插一次并手动更新驱动。然后验证主程序能否正常拉起tasklist /FI IMAGENAME eq NGClient.exe如果进程存在但占用CPU接近0%几十秒后消失通常说明初始化某个组件时崩了直接去看%APPDATA%\NGPower\Logs\Client.log。最后要验数据源读写权限用sqlcmd执行一行查询sqlcmd -S 192.168.10.15,1433 -U finance -P ****** -d NGBOOK -Q SELECT COUNT(*) FROM sysobjects能返回数字说明数据库连接正常注意sqlcmd要用32位版本在C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC下找。5.2 高频报错数据库连接超时与加密狗未插入数据库连接超时是重装系统后最常见的错误。现象是登录界面转圈超过30秒后报“连接超时”。检查顺序依次是telnet端口是否通、SQL Server服务是否启动、ODBC测试是否成功、NGPower.ini和ODBC配置是否一致。多数情况是NGPower.ini的Server写成了计算机名而DNS解析不了改成IP地址即可。加密狗未插入的报错则有两个隐藏原因一是驱动版本太老在Windows Server 2022上需要手动指定Drivers\NGKey\x64下的驱动二是新中大客户端启动时释放的临时文件被杀毒软件清除导致校验失败。处理办法是把整个安装目录加入白名单然后重新执行一次NGPower_Reg.exe来重建授权文件。5.3 一个实用技巧重装前备份这三个地方如果整台服务器需要重装先备份以下三处这样新装完的NGPower_Ng V6.1.00能直接接上原数据第一处是安装目录下的NGPower.ini它保存了所有客户端数据源参数第二处是ODBC注册表项HKLM\SOFTWARE\WOW6432Node\ODBC\ODBC.INI可以用reg export导出为.reg文件第三处是%APPDATA%\NGPower目录里面保存了打印模板和用户个性化设置。恢复顺序也有讲究先装数据库客户端和ODBC驱动再导入ODBC注册表然后装NGPower_Ng V6.1.00安装包只装客户端组件最后用备份的NGPower.ini覆盖安装目录下的同名文件。这样即使安装包自带的配置工具没有执行客户端也能正常连库。本文还有配套的精品资源点击获取
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进