|
做了个简繁英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\"=""" ""
问题: ①转换后丢失键值。 ②编译时报错,因为转换后多出了="""
以上问题,希望蓝色能注意一下,并推出修正版,造福大众。 |