Skinnedbutton插件问题在win 7 -64位

时间:2013-05-02 06:17:00

标签: nsis skinning

我正在使用SkinnedButton-v1.2.zip(23 KB) - Slappy的v1.2来为我的安装程序按钮设置外观。

除了在Windows 7 64bit上按钮没有显示图像外,它的工作正常,没有像“Back,next,cancel”那样只显示白色按钮的文字。

没有皮肤按钮错误,但按钮已启用且可以单击。

知道这个问题的原因是什么?

3 个答案:

答案 0 :(得分:1)

使用here中的修补SkinnedControls插件解决了问题。

答案 1 :(得分:0)

有两种可能的错误:

1)安装程序的初始化功能称为 .onInit (您的'.onint')

这意味着$ PLUGINSDIR永远不会被初始化,也不会提取文件。

2)您的函数 myGuiInit 无处调用/初始化。

您应该为此函数定义符号MUI_CUSTOMFUNCTION_GUIINIT,例如:

!define MUI_CUSTOMFUNCTION_GUIINIT "myGuiInit"

定义它的最佳位置是脚本开头的某处 - 靠近其他MUI_东西。

答案 2 :(得分:0)

我在调试模式下运行插件,我发现

存在问题
SetWindowLong() and GetWindowLong()

功能

也许使用SetWindowLongPtr和GetWindowLongPtr可以解决这个问题。 它们获取/返回一个LONG_PTR变量,该变量根据编译器设置。它在x86上是32位长,在x64上是64位_int64。

因此必须修复插件并重建以支持x64计算机。但是因为这个插件真的已经过时了(此刻我没有时间使用新版本),请尝试使用我的其他工具/插件图形安装程序http://www.graphical-installer.com/

我已经开发出这个解决方案,以快速皮肤NSIS安装程序,我希望你会喜欢它(抱歉自我促销)。