2011-03-08 96 views
0

我正在写一个NSIS安装程序,只有在用户选择一个安装路径需要管理员权限后才能升级。显然,我包含了MUI_DIRECTORYPAGE_VERIFYONLEAVE定义,即使用户选择了这样一个路径,也允许“下一步”按钮保持活动状态。在用户更改安装目录后,将调用.onVerifyInstDir,我将检查路径有效性并调用Abort以使灰色“Next”按钮失效。问题是,.onVerifyInstDir仅用于有效路径,所以如果用户输入“sdfasdfas”之类的东西,该函数将不会被调用,并且“Next”按钮将保持活动状态。当然,我可以在离开目录页面时验证路径,但是我想要的是这种情况下不活动的“下一步”按钮。有任何想法吗?NSIS双模式安装程序。检查路径的有效性

回答

1

只要删除MUI_DIRECTORYPAGE_VERIFYONLEAVE,目录页面不检查是否需要提升或不提升。

另一个选项是subclass的编辑框,但你必须自己验证路径。

+0

是的,我不知何故错过了,目录页面没有检查写入$ INSTALLDIR的权限。谢谢! – 2011-03-09 15:28:40