您的位置: 首页 >> 文章首页 >> NSIS脚本教程 >> RSS订阅当前栏目
nsis多语言安装程序,如何操作Unicode字符写入注册表?
日期:2008-6-27 0:06:23 作者: 来源:

做了个简繁英3in1安装程序。有3个问题:
1、调试过程中发现langstrign 定义的繁体字串在繁体winxp中显示不正常,后将其转换成ACSII后正常。 但license_cht.rtf这个文件,如果用big5码,在繁体winxp中将不正常显示,如果改成GBK繁体,则显示正常。何解?(这个问题尚未解决)

2、该程序的设置是在注册表中,而且含有简体unicode字符,如果在脚本中直接写注册表操作,在繁体winxp下,无论如何不成功。于是另想一招,将繁体系统中注册表项目导出。在脚本中添加:
Execwait '"WINDIR\Regedit" /s option.reg'也不成功,根本没有写入注册表。但经测试,Execwait '"WINDIR\Regedit"'成功。 在繁体winxp下手工操作cmd, regedit /s option.reg 可以正常导入,不知何故?(已找到原因,愤怒ing,浪费了半天的时间,居然是因为漏了一个$!!,应该是$windir\Regedit)

3、卸载程序中,在Section "Uninstall"段中调用某程序,
Execwait '"$SYSDIR\xxxx.dll" /c filename'
无论如何不成功,但如果放在Function un.onInit段中则成功。 为什么?(这个经检查,写法没有任何问题,不知道为什么次序不同就不能正常调用。)

蓝色的 reg 转 nsi 转换脚本工具(2004.9.29)好像有一点问题,如下:

  我在使用它转换注册表文件时出现以下问题:

  原注册表内容:

[HKEY_LOCAL_MACHINE\Software]
"D:\\test\\"="1"
"D:\\test\\1033\\"=""
"D:\\test\\2052\\"=""
"D:\\test\\2052\\bot\\"=""
"D:\\test\\Library\\"="1"


  转换后:

WriteRegStr HKLM "Software" ""D:\test\1033\"=""" ""
WriteRegStr HKLM "Software" ""D:\test\2052\"=""" ""
WriteRegStr HKLM "Software" ""D:\test\2052\bot\"=""" ""


  问题:
  ①转换后丢失键值。
  ②编译时报错,因为转换后多出了="""


  以上问题,希望蓝色能注意一下,并推出修正版,造福大众。

热 点 文 章
热 点 文 章
nsis多语言安装程序,如何操作Unicode字符写入注册表?
关于nsis判断程序是否正在运行的问题
官方 NSIS 插件全集简单介绍, 做你想做的安装程序 ^_^
NSIS自定义页面的两个问题, 自定义页面的两个问题
nsis脚本语法问题
NSIS如何在已有页面中修改标题栏
nsis新式界面进度条颜色控制时不平滑的问题
nsis的组件互斥代码究竟该怎么写?
nsis选择组件页面页眉文本怎么修改?
NSIS 如何刷新文件关联?
推 荐 文 章
首页 | 广告联系 | 下载排行榜 | 最近更新 | 联系我们 |
>