NSIS怎么判断安装路径中是否含有中文

问题描述

因为tomcat不允许安装在中文目录下。在用NSIS软件打包成.exe文件后,在安装过程中怎么判断安装的路径是否含有中文,如果含有中文给出提示

解决方案

解决方案二:
;安装路径选择页面路径变化时会调用该函数Function.onVerifyInstDirStrCpy$0$INSTDIRStrLen$1$0StrCpy$2'';每个中文会给strlen增加2,所以copy1个字符时,会遇到不可显示字符,会被NSIS自动改成?;正好?本身是非法路径,所以可以用这个来判断路径是否非法${Do}IntOp$1$1-1${IfThen}$1<0${|}${ExitDo}${|}StrCpy$2$01$1${IfThen}$2=='?'${|}${ExitDo}${|}${Loop}${If}$2=='?'Abort;如果$INSTDIR含有中文等宽字节字符,则不让用户安装在这里${EndIf}FunctionEnd

时间: 2024-09-19 22:14:22

NSIS怎么判断安装路径中是否含有中文的相关文章

判断请求头中是否含有某属性来判断是否是ajax请求

 本文为大家介绍下如何判断请求头中是否含有某属性来判断是否时ajax请求,具体示例如下 代码如下: <html>  <head>  <script language="javascript">    function cl()  {  var xmlhttp;    if (window.XMLHttpRequest)  {  xmlhttp=new XMLHttpRequest();  }  else  {  xmlhttp=new ActiveX

判断请求头中是否含有某属性来判断是否是ajax请求_AJAX相关

复制代码 代码如下: <html> <head> <script language="javascript"> function cl() { var xmlhttp; if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open(&

SQL判断某列中是否包含中文字符、英文字符、纯数字

原文:SQL判断某列中是否包含中文字符.英文字符.纯数字 一.包含中文字符 select * from 表名 where 列名 like '%[吖-座]%' 二.包含英文字符 select * from 表名 where 列名 like '%[a-z]%'  三.包含纯数字 select * from 表名 where 列名 like '%[0-9]%'

ASP.NET中检测含有中文字符串的实际长度

以下就是在ASP.NET中检测含有中文字符串的实际长度,这个可能在很多地方都用的上.      VB.NET的写法:    Function StrLength(Byval Str As String) As Integer   Dim En As ASCIIEncoding=New ASCIIEncoding ()    Dim B As Byte()=En.GetBytes(Str)    Dim i As Integer=0    Dim Length As Integer=0    Fo

js检测用户名中是否含有中文汉字

function checkifenglish(string) {     var letters = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz1234567890_";      var i;      var c;      for( i = 0; i < string.length; i ++ )      {           c = string.charat( i );    if (letters.

Inno setup中定制安装路径

原文:Inno setup中定制安装路径 我的程序修改了安装界面,所以我的界面中提供了更改安装路径的方法. 用户修改后的路径会被传回inno setup脚本,脚本中需要做的事情如下: 1,写一个函数,来返回新的安装路径,如: function MyDestDir(SubDir:String):String; begin   if SubDir = '' then     Result := RootDestFolder   else     Result := RootDestFolder +

NSIS:在注册表中记录安装路径以便重装或升级时读取

原文 NSIS:在注册表中记录安装路径以便重装或升级时读取 在NSIS中,这个功能是非常有用的,可以避免用户把程序安装到多个位置的尴尬. 第1步:在"安装目录选择页面"前面加入以下代码:  1 !define MUI_PAGE_CUSTOMFUNCTION_show Pageshow 第2步:读取注册表中关于安装路径的键值,如果没有,就使用默认路径. 1 InstallDirRegKey HKCU "Software\eBook Workshop" "&q

NSIS:禁止选择安装路径和编辑安装目录

原文 NSIS:禁止选择安装路径和编辑安装目录 如果你想在安装包中禁止用户选择安装路径和编辑安装目录,有两种方式.   第一种:注释或删除安装目录选择页面 1 ;!insertmacro MUI_PAGE_DIRECTORY 直接没有安装目录选择页面,用户当然无法选择啦!   第二种:在安装目录选择页面加函数 01 ; 安装目录选择页面 02 !define MUI_PAGE_CUSTOMFUNCTION_SHOW mulu 03 !insertmacro MUI_PAGE_DIRECTORY

NSIS:判断并安装.NET Framework 4 的例子

原文 NSIS:判断并安装.NET Framework 4 的例子 现在.NET开发的软件已经大行其道,但有些操作系统并不符合软件的运行要求,所以,我们需要在安装程序中进行.NET Framework的判断,如果不符合要求就进行静默安装.   首先,我们在Function区段进行当前.NET版本判断: 01 Function GetNetFrameworkVersion 02 ;获取.Net Framework版本支持 03 Push $1 04 Push $0 05 ReadRegDWORD