我正在从32->64位移植一个Windows程序。它有一个使用NSIS编写的32位安装程序。我可以使用32位NSIS安装程序启动我的新64位exe之一吗?我认为没有64位版本的NSIS... 最佳答案 当然可以,NSIS不施加任何限制,NSIS的真正妙处在于,如果您同时拥有32位和64位版本的应用程序,您可以执行组合安装程序,并将所需的文件安装在每个架构基础。例如!include"x64.nsh"${If}${RunningX64}File..\x64\blah.exe${Else}File..\x86\blah.exe${EndI
我在安装完成后以这种方式启动我的Windows应用程序:!defineMUI_FINISHPAGE_RUN_FUNCTION"LaunchApplication"...FunctionLaunchApplicationExecShell"""$INSTDIR\Application.exe"FunctionEnd但这有一个奇怪的、不希望有的副作用。显然我的应用程序是以管理员权限启动的。我无法在Web浏览器(使用Firefox和IE测试)和我的应用程序之间拖放任何数据。如果我退出我的应用程序(session从NSIS启动),然后从开始菜单图标重新启动它,一切正常!-我可以毫无问题地拖放到
我读过“长度超过${NSIS_MAX_STRLEN}(1024)的字符串将被截断/损坏。”如何安全更新%PATH%环境变量? 最佳答案 您可以使用来自specialbuildspage的替代NSIS构建喜欢largestringsbuild定义NSIS_MAX_STRLEN=8192并且应该防止您破坏主机路径。实际上,在桌面机器上,1024字节似乎足够了,但在安装了很多工具的开发主机上(比如我的),路径可能在操作后被破坏,而8192字节的字符串构建从未扰乱我的机器。可以肯定的是,您可以在操作之前添加对路径长度的检查,并在尝试操作之前
我正在通过检查以下注册表项来检查安装程序(使用NSIS制作)中的Windows版本:HKLM"SOFTWARE\Microsoft\WindowsNT\CurrentVersion""CurrentVersion"根据thispost和thispage来自MSDN,Windows10的当前版本号应该是10.0。我刚刚安装了Windows10ProInsiderPreview,注册表中给出的版本号仍然是6.3,而不是应有的10.10。在注册表中是否有另一种可靠的方法来检测Windows10? 最佳答案 不是读取值CurrentVers
我的disk-on-key中有一个可执行文件,位于dir\program\prog.exe我想在DoK的根目录上有一个可执行文件的快捷方式,即prog.lnk将引用dir\program\prog.exe。不过,prog.lnk好像不能有相对目标。当DoK分配有不同的驱动器号时,这就是一个问题,具体取决于它连接到的PC。除了将prog.exe放在根目录中这个显而易见的建议之外,还有什么建议吗?(最终,我想在安装时使用nsis执行此操作)谢谢,罗尼 最佳答案 如果我们假设cmd.exe将在所有Windows安装的相同绝对路径上(可能,
我有一个用于我正在处理的应用程序的nsis安装程序脚本,它可以在桌面上和开始菜单文件夹中放置一个快捷方式,但是每个快捷方式的路径开头都是错误的,因此应用程序将数据文件保存到捷径群岛由于文档对此事的帮助不大,是否有一种简单的方法可以更改路径的开始?Section"DesktopShortcut"SHORTCUTSetOutPath"$DESKTOP"CreateShortcut"${FULL_APP_NAME}.lnk""$INSTDIR\${APP_NAME}.exe""""$ICONDIR\${DESKICO}"SectionEnd 最佳答案
所以我试图找到一个命令来从我之前使用NSIS脚本安装的Windows中卸载Apache。基本上,apache是我们用于程序的应用程序包的一部分,在卸载我们的程序时,我们将它们全部卸载。已经在为postgres、java和ruby工作,但我没有找到任何适用于apache的命令。我尝试了wmic命令,但它需要用户确认操作。没有任何httpd卸载命令吗?httpd-kuninstall只是删除服务。谢谢 最佳答案 scdeleteApache2.4删除windows中的服务 关于windo
我正在尝试使用需要由管理员安装的Nullsoft安装系统来构建Windows安装程序。安装程序创建一个“日志”目录。由于普通用户可以运行此应用程序,因此该目录需要普通用户可写。我如何指定所有用户都应该有权以NSIS脚本语言对该目录进行写访问?我承认这听起来像是个坏主意,但该应用程序只是一个内部应用程序,只有少数人在专用网络上使用。我只需要保存日志文件,这样我就可以在发生问题时看到应用程序崩溃的原因。用户不能成为管理员。 最佳答案 使用AccessControl插件,然后将其添加到脚本中,其中“logs”目录位于安装目录中。Acces
在软件安装程序中,我需要自动创建一个(My)SQLALTER脚本,只是给定一个处于未知状态的正在运行的数据库(例如数据结构版本x.5)和几个完整的DB(My)SQLCREATE脚本(比如版本x.1到x.9)。首先我需要找到当前运行的(或者如果可能的话最接近的版本,可能一些安装有一些较早的更新错误,但这个功能是次要的)。然后我想创建一个ALTER脚本来修复运行版本可能出现的错误。之后,我想自动为最新版本(x.9)创建一个ALTER脚本并应用该脚本。再次比较两个版本并重复直到版本是最新的。我不能使用GUI应用程序,因为它必须在安装程序中盲目运行。目标平台将是WindowsXP/7。分期付款
nsNiuniuSkin从发布之初,因其简单、简洁、高效,受到了非常多公司的青睐,现在已经越来越多的公司采用我们的这套解决方案来制作安装包了!从一个安装包UI插件,逐步演化成一套集美观、安全、简洁、自动化为一体的完整的解决方案,实属不易,感谢所有朋友的信任!前言网上有不少关于Electron安装包美化的文章,有使用sciter的,有使用QT的,也有基于我们早期版本进行深度或简单集成的;整体看下来,这些方案多少会有一点问题:使用sciter和QT,增加了不少体积没有完整的与Electron打包升级完整整合而现在Electron应用非常广泛,Electron应用程序的安装包制作,当然少不了我们;在