在Unicode版Inno Setup中使用ISSkin给安装程序添加皮肤

简介: 原文 http://www.cnblogs.com/2356/archive/2009/10/27/1590565.html 在Unicode版Inno Setup中使用ISSkin给安装程序添加皮肤 ISSkin是Code jock 公司出品的Inno Setup 皮肤插件,用于为Inno制作的安装程序提供皮肤功能。

原文 http://www.cnblogs.com/2356/archive/2009/10/27/1590565.html

在Unicode版Inno Setup中使用ISSkin给安装程序添加皮肤

ISSkin是Code jock 公司出品的Inno Setup 皮肤插件,用于为Inno制作的安装程序提供皮肤功能。

自Delphi发布2009之后,Inno Setup 开始出现支持Unicode编码的版本,即5.3.x系列,并且官方同时提供Ansi和Unicode版本。

如果了解Delphi 2009的朋友,应该就很了解这一版本对Unicode的支持,这里不多做介绍了。

Unicode版的Inno Setup脚本中会将所有字符串存储为Unicode字符串,使用双字节编码,包括ASCII码,如果调用为早期Ansi版开发的插件的话,涉及到字符串 String,应该显式修改为AnsiString,这样才能保证Unicode字符串正确转换为Ansi字符串。

这里要解决由此而导致的问题。

现在的ISSkin最新版本是2.0.0,字符串使用Ansi编码,所以需要将官方主页上介绍的Code代码段进行修改。

这里介绍使用ISSkin对Unicode版的Inno Setup制作的安装程序添加皮肤。

第一步,在File段添加插件ISSkin的动态链接库ISSkin.dll和皮肤文件

例如:

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

第二步,在Code段声明API,注意这里将原String修改为AnsiString

例如:

[Code]
procedure LoadSkin(lpszPath: AnsiString; lpszIniFileName: AnsiString);external 'LoadSkin@files:isskin.dll stdcall';
procedure UnloadSkin();external 'UnloadSkin@files:isskin.dll stdcall';
function ShowWindow(hWnd: Integer; uType: Integer): Integer;
external 'ShowWindow@user32.dll stdcall';

第三步,重载InitializeSetup和DeinitializeSetup两个函数以调用ISSkin插件功能

例如:

procedure DeinitializeSetup();
begin
   ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
   UnloadSkin();
end;

好了,现在截个图吧,看看效果。

2009-10-27 11-51-51

目录
相关文章
|
编译器 C# Windows
Inno Setup制作安装包教程
Inno Setup制作安装包教程
968 0
|
容器
Inno Setup GIF 显示插件 GIFCtrl (V2.1 版本)
原文 http://restools.hanzify.org/article.asp?id=79  引用来自 test.iss ; -- test.iss --; restools; http://restools.hanzify.org; gifctrl.dll 为一个用于 Inno Setup 的 13 KB 的 gif 显示插件,同样可以显示 BMP 和 JPEG。
1499 0
|
3月前
inno setup打包软件学习
如何使用Inno Setup打包软件,包括打包结果的展示、示例打包脚本的提供、常见错误的解决方法,以及参考资料的链接。文中详细解释了解决“另一个程序正在使用此文件”和“桌面图标无法修改”等问题的方法,以及如何正确设置打包脚本中的文件路径和图标。
119 0
inno setup打包软件学习
|
Windows
“inno setup打包,win7下安装没有桌面快捷方式,xp下安装正常”
修改桌面的快捷键为选中就行了:Flags: checkablealone;在[Tasks]下面修改代码如下:Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIco...
1114 0
|
Windows 数据安全/隐私保护 C++
C/S打包 客户端/windows程序 Inno Setup
之前介绍过InstallShield打包工具,本文再介绍更加方便的打包工具Inno Setup Inno Setup相对来说,比InstallShield更容易使用,不需要在VS中创建项目,只要提供Debug或者Release包就行。
1075 0
制作部署安装包:Inno Setup
原文:制作部署安装包:Inno Setup 前一篇尝试Office 2003 VSTO的开发、部署有提到用VS开发一个简单的VSTO程序。打包C/S程序,我首先想到的是VS里自带的Setup Project。
1344 0
用jsmooth + inno生成exe并制作简单安装包
思路: 先由 Jsmooth把jar和相关资源打包生成exe,再由Inno把exe和资源文件打成安装包     一  Jsmooth     1 下载 安装 Jsmooth   地址:jsmooth.
Inno setup定制安装界面
原文:Inno setup定制安装界面 Innosetup功能很强大,可以通过它提供的Wizard接口来定制界面,但我对PASCAL语言不熟悉,也不清楚通过那种接口可改动的范围有多大,最后做出来的效果是否好,所以选择了通过一个DLL来实现我的界面。
2426 0