vue+electron 修改默认安装目录

1. 在package.json或vue.config.js文件中, 在nsis 添加 include 属性:
javascript 复制代码
module.exports = {
  pluginOptions: {
    electronBuilder: {
         win: {
          icon: './icons/icon.ico',
          target: [
            {
              target: 'nsis',
              arch: [
                'ia32'
              ]
            }
          ],
         },
         ...
        
         nsis: {
          // 一键安装,如果设为true,nsis设置就无意义请直接删除 nsis 配置
          oneClick: false,
          // true全用户安装【目录为:C:\Program Files (x86)】,false安装到当前用户
          perMachine: true,
          // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
          allowElevation: true,
          // 允许修改安装目录
          allowToChangeInstallationDirectory: true,
          // 创建桌面图标
          createDesktopShortcut: true,
          // 创建开始菜单图标
          createStartMenuShortcut: true,
          // 快捷方式的名称,默认为应用程序名称
          // shortcutName: 'HX',
          // 安装图标
          installerIcon: './icons/icon.ico',
          // 卸载图标
          uninstallerIcon: './icons/icon.ico',
          // 安装时头部图标
          installerHeaderIcon: './icons/icon.ico',
          // 配置 nsn 如修改默认安装目录
          include: './installer.nsh'
        }

        ...
      }
    }
  }
}
2. 根目录新建 installer.nsh 文件:

installer.nsh 一般和vue.config.js为同级目录
D:\Program Files (x86) 为定义安装目录,可修改
${PRODUCT_NAME} 为应用名称变量,一般没不需要改

javascript 复制代码
!macro preInit
  SetRegView 64
  WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\Program Files\${PRODUCT_NAME}"
  WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\Program Files\${PRODUCT_NAME}"
  SetRegView 32
  WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\Program Files (x86)\${PRODUCT_NAME}"
  WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\Program Files (x86)\${PRODUCT_NAME}"
!macroend
相关推荐
清灵xmf20 分钟前
为什么 Vue3 封装 Table 组件丢失 expose 方法呢?
开发语言·前端·javascript·封装·eltable
iamBailey28 分钟前
flask+vue使用jwt验证
vue.js·python·flask
理想不理想v1 小时前
高级前端开发工程师--掌握的技术
java·前端·javascript·typescript
AitTech1 小时前
JavaScript判断用户设备类型:PC端与移动端的区分方法
开发语言·javascript·ecmascript
贺今宵2 小时前
vue使用vite-plugin-svg-icons插件组件化svg图片
前端·javascript·vue.js
linzhisong2 小时前
LayUI组件国际化多国语言版本脚本-下篇根据语种替换
前端·javascript·python·layui
遗憾何来3 小时前
第9章综合案例————众成远程教育
前端·javascript·css
开心工作室_kaic3 小时前
ssm117网络教学平台的设计与实现+vue(论文+源码)_kaic
前端·javascript·vue.js
OEC小胖胖3 小时前
Vue 3 中的 v-bind 完全指南
前端·javascript·vue.js·前端框架·web