我们必须在多个系统上使用InstallShield安装我们的产品。在安装过程中,我们必须执行一些SQL脚本,几乎在所有情况下都能正常工作。 除了日本的Windows XP,我们有(x86与SP3)。 (它不会在每台机器上都失败,只在某些机器上失败)。
首先,即使安装正在运行并且在没有错误输出的情况下结束,应用程序也因为缺少数据库和SQL实例设置而未运行。 在MSI中,我首先发现没问题。
我发现注册表项已经扩展了日志文件,因此我能够在一个地方看到错误。 安装程序无法从安装程序临时文件中提取SQL脚本。
这是工作安装的外观:
MSI (s) (D0:CC) [06:32:27:394]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI2B17.tmp, Entrypoint: ISSQLServerCosting
1: Beginning SQL Server Costing Process...
1: Reading the SQL script data from ISSQLConnection table...
1: ISSQLRequirement table does not exist...
1: ISSQLRequirement table does not exist...
1: Finished SQL Server Costing Process...
1: Setting Costing Info Location ISSQLServerInstall : C:\Users\UserName\AppData\Local\Temp\~2B44.tmp
MSI (s) (D0!9C) [06:32:27:465]: PROPERTY CHANGE: Adding ISSQLServerInstall property. Its value is 'C:\Users\UserName\AppData\Local\Temp\~2B44.tmp'.
...
(还有一些“设置成本核算信息位置”行,其中包含“物业更改:添加”。)
但是对于不起作用的日本XP,它看起来像:
MSI (s) (8C:E0) [14:51:37:031]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI30.tmp, Entrypoint: ISSQLServerCosting
1: Beginning SQL Server Costing Process...
1: Reading the SQL script data from ISSQLConnection table...
1: ISSQLRequirement table does not exist...
1: An unhandled exception occurred in ExtractScriptFile()
1: An unhandled exception occurred in ExtractScriptFile()
1: An unhandled exception occurred in ExtractScriptFile()
1: An unhandled exception occurred in ExtractScriptFile()
1: ISSQLRequirement table does not exist...
1: An unhandled exception occurred in ExtractScriptFile()
1: Finished SQL Server Costing Process...
1: Setting Costing Info Location ISSQLServerInstall :
1: Setting Costing Info Location ISSQLServerUninstall :
我们看到未处理的异常,但没有结果。
我没有想法: - /请帮忙
答案 0 :(得分:0)
我发现,如果我改变了" TEMP"和" TMP"通往其他任何地方。 我不知道为什么原始临时路径有问题,可以写入和删除临时文件,只提取SQL文件(或检查哪些临时脚本文件所在的)。
我与工作机器进行了比较,系统用户没有不同的权利。