运行时错误(-1:0):不能用InnoSetup导入ISSkin.dll(Runtime error

2019-09-22 07:20发布

我计划在我的电脑,其中安装了ISSkin安装罚款。 我试图然后在没有得到安装ISSkin不同的计算机上安装了一个程序,我在安装时得到这个消息:“运行时错误(-1:0):无法导入DLL:C:\ Folder00 \ ISSkin.dll”。

我在网上搜索,但没有那么远。 我在我的INNO下面的代码:

[Files]
Source: "c:\Folder00\ISSkin.dll"; DestDir: {tmp}; Flags: dontcopy; Attribs: hidden system

[Code] 
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@c:\Folder00\ISSkin.dll cdecl';

procedure UnloadSkin();
external 'UnloadSkin@c:\Folder00\ISSkin.dll cdecl'

林正用于innosetup一个* .cjstyles皮肤。 我改变从STDCALL到CDECL但无济于事。 有没有人有这个问题,以及如何解决?

Answer 1:

你提取的dll到临时文件,但试图从一些加载“C:\ folder00 \”,这很可能不会在目标计算机上存在。

按照例如在产品页面上,你会被罚款。 相关作品从链接的例子:

[Files]
Source: ISSkin.dll; DestDir: {app}; Flags: dontcopy
Source: Office2007.cjstyles; DestDir: {tmp}; Flags: dontcopy    

[Code] 
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall';

function InitializeSetup(): Boolean;
begin
  ExtractTemporaryFile('Office2007.cjstyles');
  LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), '');
  Result := True;
end; 


文章来源: Runtime error (at -1:0): Cannot import ISSkin.dll with InnoSetup