hua_wuxin 发表于 2022-11-6 19:55 好的,再谢! 再测试看看,修改后的代码效果应该更好 ![]() |
nttwqz 发表于 2022-11-6 19:25 是的,半路出家,现用现学点 ![]() 相比 Inno Setup ,对半路出家来说,NSIS 代码更加晦涩难懂 ![]() |
leaguer 发表于 2022-11-6 16:38 是我第二遍写错了,cmd.exe后面少了 /c 。你加上试试。 |
hua_wuxin 发表于 2022-11-6 14:56 测试了,您修正的代码按在我的批处理文件里,批处理文件被 Inno Setup 代码调用反而不行了,而修改前的反而可以。 Inno Setup 调用代码如下: [Run] 是不是这里的 "{cmd}" 在作怪? |
wszjf 发表于 2022-11-6 16:09 是的 1.绿色版与资源管理器整合经常无效 2.对BC主程序彻底破解联网后,安装包顺带上key文件就完美了 但安装前最好能检测BC是否在运行,如果在运行则提示先卸载BC再安装,正在寻找相关代码 ![]() |
leaguer 发表于 2022-11-6 15:56 不用客气,写注册表对inno来说是小菜一碟,只是需要注意一些细节 |
hua_wuxin 发表于 2022-11-6 14:56 再谢您的指点! 再测试看看 ![]() |
wszjf 发表于 2022-11-6 14:24 感谢您的指点! 慢慢消化测试一下 ![]() |
本帖最后由 uvwlab 于 2022-11-6 15:16 编辑 527104427 发表于 2022-11-6 12:04 有解,写插件禁用重定向 |
本帖最后由 hua_wuxin 于 2022-11-6 19:54 编辑 leaguer 发表于 2022-11-6 14:17 修正下: @setlocal enabledelayedexpansion @if exist %SystemRoot%\Sysnative\cmd.exe %SystemRoot%\Sysnative\cmd.exe /c "%~f0" %* & exit /b !errorlevel! 如果批处理跑在64位系统下的32位环境中,%SystemRoot%\Sysnative\cmd.exe文件就是存在/有效的,指向真正的64位的cmd.exe。此时用64位的cmd.exe重新解释运行批处理自身即%~f0。 |
这个不难 在inno里判断一下系统位数对应写到64位或32位的位置就可以了 判断以后写入的话,可以写2个不同的批处理或改到[Registry]段写注册表都可以 Check: "IsWin64" 如果不改inno,批处理判断系统位数也不难 @echo off if /i "%PROCESSOR_IDENTIFIER:~0,3%" == "x86" goto 1 if /i "%PROCESSOR_IDENTIFIER:~0,3%" NEQ "x86" goto 2 :1 @echo 32bit 这里写32位注册表 exit :2 @echo 64bit 这里写64位注册表 exit |
本帖最后由 leaguer 于 2022-11-6 14:18 编辑 hua_wuxin 发表于 2022-11-6 12:56 在64位Win7与64位Win10上测试OK,再谢!! 论坛真乃藏龙卧虎之地哦! 稍后在32位系统上测试看看 ![]() 不过不明白您添加的那行代码什么意思哦 ![]() ![]() |
hua_wuxin 发表于 2022-11-6 12:56 好的,谢谢,我试试看 ![]() |
本帖最后由 leaguer 于 2022-11-6 12:41 编辑 但是为什么手动运行 “test.bat” 就可以了? 许多安装程序也是用 Inno Setup 打包的,但却可以识别32位与64位系统,成功处理的。 应该有解决办法吧? 发现这里似乎有解决方法: 3个w.codenong.com/12956499/ 但不知到怎么处理? |
527104427 发表于 2022-11-6 12:04 果然是在: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes 下找到了 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{57FA2D12-D22D-490A-805A-5CB48E84F12A} |
BestMiniPE 发表于 2022-11-6 11:17 用那种参数代码,编译是OK的,但不知哪儿出了问题?怪了 |
奇诡了?哪儿出了问题?? |
和楼主一样,我也想知道这个问题的答案啊,期待牛人的解答 |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.