首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调试inno-setup异常

如何调试inno-setup异常
EN

Stack Overflow用户
提问于 2014-11-23 22:16:25
回答 1查看 1.6K关注 0票数 0

我自己用XE6编译了inno-setup。(我知道,文档建议使用较旧的delphi版本,但我只有新的IDE)

我想使用pascal脚本来自定义安装。但即使我添加了一个最简单的代码部分,创建的安装崩溃。

代码语言:javascript
复制
[Code]
function InitializeSetup(): Boolean;
begin
end; 

安装时创建的setup.exe失败:

代码语言:javascript
复制
[22:10:29.945]   *** Setup started
[22:10:36.182]   Setup version: Inno Setup version 5.5.4 (u)
[22:10:36.186]   Original Setup EXE: D:\Classics\Save\Installer\Win_Platform\Inno Setup\test\Output\setup.exe
[22:10:36.190]   Setup command line: /SL5="$911152,176640,176640,D:\Classics\Save\Installer\Win_Platform\Inno Setup\test\Output\setup.exe" /SPAWNWND=$7B05B8 /NOTIFYWND=$1150B10 /DEBUGWND=$74002E 
[22:10:36.200]   Windows version: 6.2.9200  (NT platform: Yes)
[22:10:36.203]   64-bit Windows: Yes
[22:10:36.209]   Processor architecture: x64
[22:10:36.212]   User privileges: Administrative
[22:10:37.660]   64-bit install mode: No
[22:10:37.674]   Created temporary directory: C:\Users\CAOSHU~1\AppData\Local\Temp\is-5AOTJ.tmp
[22:10:37.717]   InitializeSetup raised an exception (fatal).
[22:10:37.725]   Exception message:
[22:10:37.734]   Message box (OK):
    Access violation at address 006043C0 in module 'setup.tmp'. Read of address 00000014.
[22:11:03.501]   User chose OK.
[22:11:03.515]   Deinitializing Setup.
[22:11:04.424]   *** Setup exit code: 1

也许我在has setup中编译的方式有一些问题。我不需要使用XE6?但是如何调试并找出问题所在呢?

并不是某些代码在运行时会崩溃。它是由inno setup创建的setup.exe。

EN

回答 1

Stack Overflow用户

发布于 2014-11-24 01:27:50

InitializeSetup()返回的值未定义。

代码语言:javascript
复制
function InitializeSetup(): Boolean;
begin
   result := true;
end;

正因为如此,你得到了一种未定义的行为。如果大多数时候结果是假的( RAX == 0的最后8位),情况并不总是这样,你会遇到一个严重的“难以理解”的问题,特别是当它无缘无故地工作的时候。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27089898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档