Inno Setup 如何使用皮肤插件更换软件安装包界面和外框包装?望详细解答!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Inno Setup 如何使用皮肤插件更换软件安装包界面和外框包装?望详细解答!相关的知识,希望对你有一定的参考价值。
目前已经能够运用 Inno Setup 做些基础、简单的软件或游戏安装包 如图所示:
现在就是想换个外框包装 虽然知道能够使用皮肤插件 但是网上实在是没搜到看得懂的教程
就是想把这个软件包的安装界面和外框换个样子和颜色 就类似于XP系统更换电脑主题
想问问谁有详细的步骤教程 望指点 谢谢!
WizardImageFile=XX.bmp
WizardSmallImageFile=XX.bmp
修改图标 上面是大的下面是小的
procedure InitializeWizard();
这个是用来定制界面的 大小颜色追问
用这个代码就可以更改界面的大小和颜色?能改变样子么?就像更换电脑主题那样 比如最小化和关闭的按钮样式都会改变 具体代码能举例下吗?
追答不能改变界面的大小 颜色 ,
列如
with CancelButton do begin
Left:=600
Top:=462
Width:=77
Height:=25
BringToFront
end;
这是设置 cancel button 大小 ,这是设置某一元素的属性的
with PasswordPage do begin
with PasswordEdit do begin
Left:=0
Top:=50
Width:=465
Height:=21
Font.Color:=clWindowText
end;
with PasswordEditLabel do begin
Left:=0
Top:=34
Width:=465
Height:=14
end;
with PasswordLabel do begin
Left:=0
Top:=0
Width:=465
Height:=28
end;
end;
这是设置password 界面的 包括大小颜色 界面里 label的大小
如何使用 Inno Setup 根据注册表项选择在文件夹中安装插件/文件?
【中文标题】如何使用 Inno Setup 根据注册表项选择在文件夹中安装插件/文件?【英文标题】:How do I use Inno Setup to optionally install a plugin/file in a folder based on a registry entry? 【发布时间】:2010-09-12 10:00:49 【问题描述】:Inno Setup 是一个不错的易于使用的安装程序。它在this *** question 中的评价很高。我需要将插件安装到与 3rd 方应用程序的安装文件夹相关的文件夹中。从文档中看如何做到这一点并不明显。
【问题讨论】:
【参考方案1】:您可以在文档和示例代码中找到如何使用注册表项选择性地安装文件的答案,但这可能并不明显,因此这里有一些示例脚本 sn-ps 使用 Adobe Premiere 插件作为示例:
关键步骤是:
1) 使用 Check: 参数
2) 编写一个函数,调用RegQueryStringValue并解析路径来构造相对插件文件夹目的地
3) 使用 code: 调用函数返回目标文件夹
//
// Copy my plugin file to the Premiere Plugin folder, but only if Premiere is installed.
//
[Files]
Source: "C:\sourceFiles\myplugin.prm"; Check: GetPremierePluginDestination; DestDir: "code:PluginDestination"; Flags: ignoreversion overwritereadonly
[Code]
var sPluginDest : String;
//
// Search for the path where Premiere Pro was installed. Return true if path found.
// Set variable to plugin folder
//
function GetPremierePluginDestination(): Boolean;
var
i: Integer;
len: Integer;
begin
sPluginDest := '';
RegQueryStringValue( HKLM, 'SOFTWARE\Adobe\Premiere Pro\CurrentVersion', 'Plug-InsDir', sPluginDest );
len := Length(sPluginDest);
if len > 0 then
begin
i := len;
while sPluginDest[i] <> '\' do
begin
i := i-1;
end;
i := i+1;
Delete(sPluginDest, i, Len-i+1);
Insert('Common', sPluginDest, i);
end;
Result := len > 0;
end;
//
// Use this function to return path to install plugin
//
function PluginDestination(Param: String) : String;
begin
Result := sPluginDest;
end;
我不是 Pascal 程序员,因此欢迎任何有关提高 GetPremiereDestination 效率的建议。
【讨论】:
以上是关于Inno Setup 如何使用皮肤插件更换软件安装包界面和外框包装?望详细解答!的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Inno Setup 根据注册表项选择在文件夹中安装插件/文件?
如何使用Inno Setup Compiler制作安装软件包