一、通过electron层的scripts中的build.nsi文件修改安装生成的set.ini文件内容
SetShellVarContext all /* 把当前安装包的名字写入set.ini,便于程序读取并设置{setupname}参数 */ IfFileExists "$INSTDIR\set.ini" 0 file_not_found WriteINIStr "$INSTDIR\Reinstall.ini" "Install" "FirstInstall" "0" goto end_of_checksetini file_not_found: WriteINIStr "$INSTDIR\Reinstall.ini" "Install" "FirstInstall" "1" end_of_checksetini: WriteINIStr "$INSTDIR\set.ini" "Install" "SetupName" $EXEFILE WriteINIStr "$INSTDIR\set.ini" "Install" "Version" ${PRODUCT_VERSION} // 写入的新内容 WriteINIStr "$INSTDIR\set.ini" "Install" "CompanyName" "互盾"
写入后安装的文件路径有set.ini文件,打开可查看内容是否写入成功
二、在需要区别展示的地方写一个获取set.ini文件中内容的方法
function getCompanyName() { try { let byte = window.require("fs").readFileSync(`set.ini`); try { byte = window.require("iconv").decode(byte, "gbk"); } catch (error) { byte = window.require("iconv-lite").decode(byte, "gbk"); } let content = byte + ""; let lines = content.split(/[\r\n]+/); let CompanyName = lines.find((x) => /CompanyName/.test(x)); console.log(CompanyName.split("=")[1]); return CompanyName.split("=")[1] || "砾捷"; } catch (err) { return "砾捷"; } }
三、注意事项
(1)安装包属性中的详细信息更改可以在打包时将其更改为想要的信息(例如:将砾捷软件更改为互盾软件),不需要提交代码,打完包后还原即可(安装信息可能在electron的config.js中更改)
(2)如果要更换安装器和卸载器,也是直接更换了之后打包即可,不需要提交代码,待打包结束将其更换回去
标签:WriteINIStr,set,版本号,不同,INSTDIR,electron,ini,Install,byte From: https://www.cnblogs.com/wyl-k/p/17879328.html