根据项目中的缓存数据结构的实际情况,数据结构为string类型的,使用RedisTemplate的multiGet方法;数据结构为hash,使用Pipeline(管道),组合命令,批量操作redis。...= System.currentTimeMillis(); log.info("插入耗时:" + (saveEnd - saveStart) + " ms"); // 批量获取...= System.currentTimeMillis(); log.info("插入耗时:" + (saveEnd - saveStart) + " ms"); // 批量获取...}); } @Override public List batchGet(List keyList) { /* 批量获取多条数据...所以无法在中途立即查得数据的结果(需待pipelining完毕后才能查得结果),这样会使得无法立即查得数据进行条件判断(比如判断是非继续插入记录)。
一、背景 需求: redis通过tcp来对外提供服务,client通过socket连接发起请求,每个请求在命令发出后会阻塞等待redis服务器进行处理,处理完毕后将结果返回给client。...根据项目中的缓存数据结构的实际情况,数据结构为string类型的,使用RedisTemplate的multiGet方法;数据结构为hash,使用Pipeline(管道),组合命令,批量操作redis。...= System.currentTimeMillis(); log.info("插入耗时:" + (saveEnd - saveStart) + " ms"); // 批量获取...= System.currentTimeMillis(); log.info("插入耗时:" + (saveEnd - saveStart) + " ms"); // 批量获取...}); } @Override public List batchGet(List keyList) { /* 批量获取多条数据
前言最近由于手头有其它事儿,一直迟迟没有更新最新版,之前V1.0.4还是有不少问题的,最近在使用过程中逐渐发现并逐步解决部分问题,并简化了相关操作。...所以,新的一版V1.0.5 它来了更新内容* 解决多语言切换问题* 解决安装可以选择复制文件到指定目录* 解决无法配置NSIS路径问题* 解决在结束页面不设置监视进程时无法编译通过的问题* 新增批量删除...,批量选择,批量变更目录* 新增忽略列表,解决反复添加不需要文件问题功能说明多语言切换问题修改多语言实现方案,多语言实时切换 图片解决安装可以选择复制文件到指定目录在组件设置中可以选择已存在文件不进行复制...修复原来NSIS配置路径功能无效的问题4. 解决在结束页面不设置监视进程时无法编译通过的问题5. 新增批量删除,批量选择,批量变更目录 a. 程序集列表可以进行多条编辑或者忽略 b....新增忽略列表结语 每次更新我都会尽最大努力去解决一些问题,目前问题来源主要是使用中的一些问题,如果各位有更好的意见建议,欢迎留言~仓库地址GitHub地址:https://github.com/tangmanger
demo.exe文件,适用于一个模块没有多依赖.py文件 -D pyinstaller -D demo.py 默认选项,除了主程序demo.exe外,还会在在dist文件夹中生成很多依赖文件,推荐使用这个...-c pyinstaller -c demo.py 默认选项,只对windows有效,使用控制台 -w pyinstaller -w demo.py 只对windows有效,不使用控制台 -p pyinstaller...但也有使用-F方式,最终只有一个.exe文件的输出结果。...-因为flask项目有静态文件和html文件,如果不拷贝过去,静态文件和html文件会找不到 -我们为了隐藏代码,可以把所有python的代码都删除,只留static和templates文件夹 【小结...在交付项目较多的团队,可以考虑使用更加灵活的工具去完成。
且给出 NSIS 安装包脚本的规避方法 特别感谢 lsj 定位到此问题,我只是帮助他记录问题的工具人 联软 UniAccess 是一款监控电脑设备的应用,在很多公司都会使用。...遇到此问题时最佳做法是卸载,如何卸载请参阅以下博客 卸载联软UniAccess,删除UniAccess Agent记录 - Never_Await_Victory - 博客园 最新彻底删除联软uniaccessAgent_zhangxl2000...脚本是使用以下代码进行启动进程的 nsExec::Exec "${PATH_MAIN}\lindexi.exe install" 这里的 ${PATH_MAIN} 在运行的时候大概是 D:\Program...Files (x86)\lindexi 文件夹路径 预期以上安装包代码将会启动 lindexi.exe 应用,然而通过 ProcessMonitor 却发现启动的路径似乎不对 如上图,可以看到先在安装包里创建出了...,记录的日志也都是完成启动进程 其实以上的 NSIS 脚本还是有一刀的,那就是传入的参数是没有给带空格的路径加上引号。
为了阻止某些程序安装成功后自动重启动(例如 Kerio Personal Firewall 4),你可以在 /qn 或者 /qb 参数后使用 REBOOT=Suppress 标记。...最后,如果你在保存安装文件的文件夹中看到了一个 setup.iss 文件,那么毫无疑问这是用 InstallShield 打包了!.../M2 在调试器会话期间保留供WISE内部使用 示例: setup.exe /T 卸载WISE: /Z 删除空目录,包括其中包含不明智的目录。 /A 自动模式,除了取消,没有其他用户选择。...七、Nullsoft SuperPiMP Install System (NSIS) 使用 NSIS(NullSoft Installation System)制作的安装文件,可用 /S (注意大写)来进行静默安装...这类的软件都会在安装结束后显示一个确认屏幕(CDex)或者一个设置文件关联方式的结束安装屏幕(Winamp) 怎么判断哪个程序是使用 NSIS 技术打包的?
,必须是一个不存在的文件夹。..._1.0.0.0.exe -oC:\Users\walterlv\nsis 这也是为什么我们考虑使用 7z 来解压缩,而不是使用相关的 NuGet 包来调用。...其他命令行操作 运行 7z.exe 后可以看到命令行中列出了可用的命令行命令: 1 2 3 4 5 6 7 8 9 10 11 a:将文件添加到压缩档案中 b:测试压缩或解压算法执行时的 CPU 占用...\subdir\* d 删除文件 删除压缩档案 walterlv.zip 中的所有扩展名为 bak 的文件: 7z d walterlv.zip *.bak -r e 解压文件 相比于 x,此命令会将压缩档案中的所有文件输出到同一个目录中...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
工具: HW VNISEdit(NSIS脚本编辑器) 1、 使用编辑器中NSIS脚本向导功能,自动生成对应的nsi脚本。...$PLUGINSDIR 该路径是一个临时目录,当第一次使用一个插件或一个调用 InitPluginsDir 时被创建。该文件夹当解压包退出时会被自动删除。...这个文件夹的用意是用来保存给 InstallOptions 使用的 INI 文件、启动画面位图或其他插件运行需要的文件。 编译器指令 nsi脚本的编译器指令主要指仅在编译时刻执行的命令。...如果使用了 /nonfatal 开关且当文件未找到时使用警告来代替错误 如果使用了 /a 开关,则被添加的文件的属性将会保持 如果使用了 /r 开关,匹配的文件将会在子目录里被递归的搜索。...如果指定了 /ifempty,则该注册表键仅当它无子键时才会被删除(否则,整个注册表键将被删除)。有效的根键值在后面的 WriteRegStr 列出。
引言在完成一个 C# Windows 桌面应用的开发后,下一步非常关键的工作就是打包应用以便分发。打包不仅能确保应用程序易于安装,还能包含所有必要的依赖项,为用户提供流畅的体验。...在弹出的窗口中,选择发布位置,可以是本地文件夹、网络路径或者 FTP 服务器。配置应用程序的更新方式,如是否启用自动更新。...完成配置后,点击 “发布” 按钮,Visual Studio 会自动打包应用程序。ClickOnce 优势:支持自动更新,无需用户手动操作。适合小型项目和不需要复杂安装配置的应用。...使用其内置的脚本编辑器,编写安装脚本,定义要打包的文件、安装路径等。编译脚本,生成安装包。NSIS 打包步骤:下载并安装 NSIS。编写 NSIS 安装脚本,配置安装过程中的各项细节。...使用 NSIS 编译器生成安装程序。第三方工具的优势:灵活、轻量,可以通过脚本实现高度自定义。支持压缩安装包,生成体积较小的安装程序。第三方工具的局限性:需要手动编写脚本,配置过程较为复杂。
打包配置 我们使用的vue-cli-plugin-electron-builder内部也是用electron-builder打包的,但是配置的位置不能像之前那样配置了 官方:https://nklayman.github.io.../app.ico", target: ["zip", "nsis"] }, nsis: { oneClick: false,...首先我们要知道程序的打包步骤 webpack打包 => electron-builder打包(asar打包 => exe打包) 考虑到不同平台需要打入的ffmpeg不同,我们可以在webpack打包过程中筛选使用的文件...,过程如下: 如果软件不考虑多平台,那么可以直接下载对应平台的ffmpeg放在项目根目录下的core文件夹中,下面的第一步可以跳过不用配置。...", "ffmpeg-static/bin", ffmpegPathMap[platform] ); } 获取Windows音视频输入设备 ffmpeg -list_devices
一、新建工程 点击新建工程,也可以文件->新建创建新的工程文件 二、编辑主界面 先选工作目录,设置一个工作目录,然后所有文件都会被拷贝到工作目录下 语言选择,不选为中文,选择后需选择对应语言文件...", "LanguageType": 2 }] 三、编辑组件信息 添加组,可以添加文件夹和文件 ps:添加文件会将文件默认安装到安装根目录中,如果有二级文件,选择添加文件夹。...可以添加系统组件,比如C++或者.net 可以在右侧属性 选择普通安装和默认安装,勾选选择组可以让用户自由选择安装的组件 四、应用程序和图标 应用程序菜单名称,则是应用程序开始菜单创建的文件夹名称 添加和删除快捷方式...,会创建指定的快捷方式 四、注册表 目前只支持格式定制 多个格式用,分割,比如.pge,.pgex 五、结束界面 设置安装完成后启动,和参数等 ps:所有文本都可以做多语言只要按照多语言格式制定好就行...项目地址:tangmanger/PackageEasy: 基于Nsis的可视化打包工具 (github.com) 原文地址:PackageEasy 使用方法 (qq.com)
安装包文件属性 将NSIS安装包进行解包后,我们可以在NSIS脚本中看到tdzs.dll调用逻辑。如下图所示: ?...tdzs.dll tdzs.dll动态库在文件信息中说明自己是“安装数据统计”程序,且在软件卸载时,该病毒动态库也会被一起删除,从而诱使用户误以为该动态库只进行“安装数据统计”操作。...安装包释放的病毒动态库文件属性 微端卸载程序删除tdzs.dll相关NSIS脚本,如下图所示: ?...卸载相关NSIS脚本 虽然tdzs.dll会被卸载程序删除,但是该动态库是直接被安装包进行调用的,所以通常在用户对游戏微端进行卸载时,病毒逻辑已经执行完毕。...窗口类初始化 在窗口响应WM_CREATE消息时会设置一个Timer,间隔为8秒。
安装完插件后, 项目中的一些变化 ① package.json 新增了几个scripts ?...打包问题 参考文档: https://www.electron.build/configuration/nsis 使用nsis打包windows程序的安装包 在 vue.config.js 中配置打包配置..., 我们就时要获取最后一项 ?...image.png 生产模式下, 如果软件没有提前打开, 通过网页开启时, 需要按照下图方式来获取参数 ? image.png 若提前开启, 则在判断单例的条件判断中获取 ?...软件更新 使用electron-updater ① 配置vue.config.js 设置publish配置, 配置了这个配置后, 打包后会生成一个latest.yml文件, 需要将其和安装包放在服务器同一目录下
这个参数是当前安装Electron的版本,不知道的可以直接electron就能看到了,我这里是1.4.13,经过改进后如下: electron-packager ..../HelloWorldApp --arch=x64 --version=0.0.1 --electron-version=1.4.13 执行完毕后,看到父级目录下已经产生了我们希望看到的应用文件夹。...NSIS 打包 Electron 生成exe安装包 NSIS操作简单,而且打包出来的安装包,安装过程和卸载过程都更加正规。推荐使用 一....准备 1.下载NSIS软件,安装 NSIS中文版下载地址:https://pan.baidu.com/s/1mitSQU0 2.安装asar (参考官方文档https://www.w3cschool.cn..._20190826110619.png 三.打开NSIS 1)选择可视化脚本编辑器 企业微信截图_20190826110653.png 2)选择使用脚本向导创建新的脚本文件,确定 企业微信截图_20190826110718
目前已经包含了如下的功能: MrDoc 服务的配置; 文集列表的获取; 文集的搜索; 文集的新建; 文集文档列表的获取; 文档的搜索 文档内容的获取; 文档内容的修改; 新建文档; 退出确认提示; 图标配置...target: [{ // 打包成一个独立的 exe 安装程序 target: 'nsis...如果为false,则用户必须使用提升的权限重新启动安装程序。...运行这个安装包: 安装过程和一般的程序安装无异: 安装完成,可以直接启动: 同时Windows菜单栏新增了程序: 程序安装后的文件夹体积仅100多兆: 同时包含卸载程序: 可以说,这个打包的过程和结果都是很令人满意的...再加上开发阶段的顺畅,现在让我回望使用 PyQt5 开发桌面客户端程序时踩过的大大小小的坑,突然产生了要对 PyQt5 变心了的感觉。
我自己本人不做 Electron 的开发,但有一位合作伙伴在使用 NSIS 打包 Electron 应用的时候遇到了一些问题,主要问题有以下几个,先记录下来,然后追个击破。...打包后应用在 Windows 7 无法直接运行,需要修改兼容性为 Windows 7 才可以使用 打包后安装或者卸载时应用在运行会安装或者卸载失败,无法替换或删除应用(这个与 Electron 无关但也介绍一下...) 打包后应用第一次启动无法使用拖拽功能 脚本设置启动程序兼容性 设置程序兼容性有两种方式,一种是手动右键修改,但这种方式明显不可能让用户自己去操作,所以我们需要另外一种方式就是在安装程序后自动写入一个注册表...经过排查发现,NSIS 打包后安装包程序默认是以管理员身份启动的,第一次安装完成后自动启动应用时会继承安装包的权限(管理员)导致拖拽功能无法使用了,而直接从桌面运行快捷方式是没问题的。...在初始化代码中加如下代码,让安装包使用普通用户权限: RequestExecutionLevel user 当安装包没有管理员权限后,你安装到 C:\Program Files 目录就会被拒绝,这时你可以参考想
electron-builder:是一个功能强大的打包工具,支持跨平台打包,并提供多种目标平台和格式的选项,如 Windows、Mac、Linux、NSIS、AppImage 等。...使用 electron-forge 将 Electron Forge 添加到您应用的开发依赖中,并使用其"import"命令设置 Forge 的脚手架: npm install --save-dev @...electron-forge/cli # 如果缺少某些工具,根据提示安装完,重新执行即可 # 如果需要下载东西,安装时间可能比较长 npx electron-forge import 上面的配置完毕后,...Forge 的 make 命令来创建可分发的应用程序: npm run make Electron-forge 会创建 out 文件夹,您的软件包将在那里找到: // Example for macOS..."target": [ "dmg", "zip" ] }, "win": { "target": [ "nsis
而是打包后可以使用才真的算是结束吧。...文件的前缀名 "appId": "com.leon.xxxxx",//包名 "copyright":"xxxx",//版权 信息 "directories": { // 输出文件夹..."output": "build" }, "nsis": { "oneClick": false, // 是否一键安装 "allowElevation..."package": "electron-packager ./ --overwrite -all" } 命令行中执行npm run package进行打包如下所示: image.png 打包成功后,...npm run dist打包」 QQ截图20220830230841.png 「打包后在dist目录生成如下文件:」 image.png 解压zip包或执行setup安装文件,应用启动后且没有报错,
今天我就来分享一下怎么使用一套代码,快速打包生成各主流平台安装包的经验。...appId": "xxxxx", "copyright":"xxxx",//版权信息 "directories": { "output": "build" // 输出文件夹...如果为false,则用户必须使用提升的权限重新启动安装程序。...这是 @electron/get 中获取 electron 镜像缓存的示例: import { downloadArtifact } from '@electron/get'; const zipFilePath.../node_modules/electron/cli.js 等待 electron 镜像拉取完成后,即可正常进入开始模式。
在安装JRE后,系统自动将.jar文件关联到了JRE上(javaw.exe),所以双击jar似乎是执行了可执行文件,其实只是使用了java模拟器来运行你写的代码。...我们把jar打包成exe,其实仍然是使用java虚拟机运行,只是加了个exe的外壳,如果少了JRE还是没法让程序启动的。 这里把jar制作成exe很方便,使用一款叫exe4j的软件。...上面一个是把整个class文件夹让JRE编译(包括不是jar文件的文件),下面一个选项只能将jar打包成exe。我们不需要其他资源,就选下面一个选项。 ? ...你看自己电脑里安装的JRE是什么版本,或者你使用自己简化的JRE(在Prefered VM中删除掉原有的选项,添加你简化的JRE目录)。 ? 6.之后的选项基本上就是默认即可。...当我们需要在未安装java虚拟机的电脑上运行时,我们使用NSIS之类的软件把JRE和exe制作成一个安装包,就可以正常使用了。
领取专属 10元无门槛券
手把手带您无忧上云