Self-introduction
@Alipay,计算机专业。
喜欢互联网,崇尚网络自由和开放,旗帜鲜明的反对妄图扼杀自由的行为。
喜欢看电影,国产大片、科幻片和鬼片例外,以前比较偏好喜剧和港产警匪片,比如周星驰系列喜剧和银河映像出品的电影;看过无数好莱坞电影后,现在比较喜欢美国的独立小电影和法国风味的电影,诸如《杯酒人生》和《天使爱美丽》等。
喜欢听的一些歌:魔岩三杰、汪峰、王菲的大部分,郑钧、许巍的一些,左小祖咒以及其它歌手的小部分。
现在看书的时间比较少,其中大部分又花费在技术书籍上,以后坚持少上豆瓣,多看书。
经常使用的网站或服务:Google以及它的很多服务、Twitter、虾米、豆瓣。
Tag Archives: NSIS
【NSIS使用经验】修改和删除环境变量
;设置oracle的环境变量到PATH路径 ReadRegStr $0 HKLM “SYSTEM\CurrentControlSet\Control\Session Manager\Environment” “Path” WriteRegExpandStr HKLM “SYSTEM\CurrentControlSet\Control\Session Manager\Environment” “Path” “$0;$INSTDIR\Oracle\bin\” ;刷新环境变量 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 “STR:Environment” ;利用WordReplace函数从PATH中删除设置oracle的环境变量 ;需要在文件头引入相应的头文件:!include “WordFunc.nsh” ReadRegStr $R0 HKLM “SYSTEM\CurrentControlSet\Control\Session Manager\Environment” “Path” ${WordReplace} $R0 “;$INSTDIR\Oracle\bin\” “” “+” $R1 ;MessageBox MB_OK|MB_USERICON ‘$R0 – $INSTDIR – $R1 ‘ WriteRegExpandStr HKLM “SYSTEM\CurrentControlSet\Control\Session Manager\Environment” “Path” “$R1″
【NSIS使用经验】禁止多个安装程序实例或禁止重复安装程序
;在安装程序运行前的回调函数前实现 Function .onInit ;禁止多个安装程序实例 System::Call ‘kernel32::CreateMutexA(i 0, i 0, t “JWBClient”) i .r1 ?e’ Pop $R0 StrCmp $R0 0 +3 MessageBox MB_OK|MB_ICONEXCLAMATION “安装程序已经在运行。” Abort ;禁止重复安装程序 ReadRegStr $0 HKLM ‘${PRODUCT_DIR_REGKEY}’ “” StrLen $1 $0 IntCmp $1 0 +3 +1 +1 MessageBox MB_OK|MB_USERICON ‘$(^Name) 已安装在计算机中。如需重新安装,请卸载已有的安装’ Quit FunctionEnd
制作安装包之抽取oracle客户端的一种方法
从oracle 10g开始,oracle官方提供了一个精简的client,叫oracle instant client,只有几十M,免安装,可供分发。其下载地址: http://www.oracle.com/technology/software/tech/oci/instantclient/index.html 至 于如何配置、使用等,本文不予介绍。如果能够使用此client打包程序成功的,也可以不必看此文。网上有网友说,这个client比起普通的 client,还存在很多bug,但我没有证实过。我之所以需要手工抽取,是因为,它不包括oracle oledb,而我的程序需要它。 下面介绍我此次抽取客户端的经历,以及从中总结出的一种通用的抽取方法。 首先,参照了三篇网文《Oracle10g Client的手工分发》(http://www.cnblogs.com/pilybird/archive/2006/10/24/538338.html),《Oracle OLEDB 的手工分发》(http://www.cnblogs.com/pilybird/archive/2006/10/26/540943.html),《Oracle学习笔记:手工注册oracle的oledb驱动》(http://www.cnblogs.com/jinzhenshui/archive/2009/01/08/1371634.html),我抽取了必须的文件,具体的抽取过程,可以参照下列dos脚本(需要修改定义的变量): ——————————————————————– @ECHO 从Oracle 10g Client中提取精简客户端 REM 定义变量 set ORACLE_CLIENT_HOME=E:\client_1 set DEST_ORA_CLIENT_DIR=E:\ora10g_client REM sqlplus目录 mkdir %DEST_ORA_CLIENT_DIR%\sqlplus mkdir %DEST_ORA_CLIENT_DIR%\sqlplus\mesg copy %ORACLE_CLIENT_HOME%\sqlplus\mesg\*.* %DEST_ORA_CLIENT_DIR%\sqlplus\mesg REM oracore目录 mkdir %DEST_ORA_CLIENT_DIR%\oracore mkdir %DEST_ORA_CLIENT_DIR%\oracore\zoneinfo copy %ORACLE_CLIENT_HOME%\oracore\zoneinfo\*.* %DEST_ORA_CLIENT_DIR%\oracore\zoneinfo mkdir %DEST_ORA_CLIENT_DIR%\oracore\mesg copy %ORACLE_CLIENT_HOME%\oracore\mesg\*.* %DEST_ORA_CLIENT_DIR%\oracore\mesg REM Network目录 mkdir %DEST_ORA_CLIENT_DIR%\Network mkdir %DEST_ORA_CLIENT_DIR%\Network\Admin copy [...]
【NSIS使用经验】打包含有oracle客户端的应用程序