NSIS打包 文件夹权限 --- AccessControl

之前用electron开发的PC端先是用electron-packager把项目打成可执行文件,然后再用grunt-electron-installer打包成安装exe文件。最最最不爽的是,安装没有自定义目录,默认装在C盘;而且有时候会报安装错误(installation has failed)。

grunt-electron-installer提供的是配置式的接口,要解决这些安装的问题也无从入手。有遇到这个并且解决了的同学欢迎留言。

最后选择了可操作性比较强的制作程序NSIS:

流程还是和之前一样先把项目打包

electron-packager npm地址: https://www.npmjs.com/package/electron-packager

然后安装NSISNisedit

打开Nisedit,文件 -》新建脚步(向导)

根据提示创建脚本 -- 参考

完成后会生成一堆堆的脚本

点击编译

最后会得出一个安装包,大功告成。

然而。。。

点击安装包 ---》 安装成功 ---》 使用报错

。。。。

原因是,项目里一些逻辑有本地文件操作,权限问题导致了操作失败,报错。

继续谷歌。。。

找到了  AccessControl

官方地址: http://nsis.sourceforge.net/AccessControl_plug-in

先安装这个插件

找到NSIS安装目录,把压缩包对应的文件拷进去就安装好了。

然后,回到Nisedit,在复制文件夹时候使用

SetOutPath "$INSTDIR\resources\app"
  File "..\..\..\dApp\HomeCloud\out-dev\HomeCloud-win32-x64\resources\app\LICENSE.txt"
  File "..\..\..\dApp\HomeCloud\out-dev\HomeCloud-win32-x64\resources\app\logo-16.ico"
  File "..\..\..\dApp\HomeCloud\out-dev\HomeCloud-win32-x64\resources\app\logo.ico"
  File "..\..\..\dApp\HomeCloud\out-dev\HomeCloud-win32-x64\resources\app\main.js"
  ; 设置权限 ------
  AccessControl::GrantOnFile     "$INSTDIR\resources\app" "(BU)" "GenericRead + GenericWrite"
  Pop $0

意思是把app下的所有文件设置为可读写。

然后再次编译脚本。

大功告成。。。。。。

时间: 2024-10-11 23:23:27

NSIS打包 文件夹权限 --- AccessControl的相关文章

C#文件夹权限操作整理

using System.Security.AccessControl; using System.IO; using System.Security.Principal; 取得目录的访问控制和审核安全(ACL) DirectorySecurity fileAcl = Directory.GetAccessControl(filePath); 文件夹权限继承控制 fileAcl.SetAccessRuleProtection(true, true);//取消权限继承,且保留继承的访问规则 fil

文件/文件夹权限设置命令chmod的具体使用方法

chmod是文件/文件夹权限设置的命令,在Linux中常常遇到.本博文下面总结chmod的具体使用方法. Linux/Unix的档案调用权限分为三级,即档案拥有者user.群组group.其它other.u表示该档案的拥有者.g表示与该档案的拥有者属于同一个群体(group)者,o表示其它以外的人,a表示这三者皆是. + 表示添加权限.- 表示取消权限.= 表示唯一设定权限. r表示可读取,w表示可写入,x表示可运行. 举例说明: (1).将档案file1.txt 设为全部人皆可读取: chmo

设置linux服务器文件夹权限

最近搞的网站一上传图片,就报500错误.经排查是服务器文件夹权限设置问题. 使用命令: chmod o+rwx avatar 即可改变文件夹权限设置.

linux 文件夹权限及umask

先创建一个目录,看看权限: $ ll 总用量 20 drwxrwxr-x 3 huangxm huangxm 4096 2月 16 16:35 ./ drwxr-xr-x 128 huangxm huangxm 12288 2月 16 16:35 ../ drwxrwxr-x 2 huangxm huangxm 4096 2月 16 16:35 test/ 然后我们将权限更改为444, 即所有都是r权限 $ ll 总用量 20 drwxrwxr-x 3 huangxm huangxm 4096

【转】C#打包文件夹成zip格式

原文地址 C#打包文件夹成zip格式(包括文件夹和子文件夹下的所有文件)C#打包zip文件可以调用现成的第三方dll,事半功倍,而且该dll完全免费,下载地址:SharpZipLib下载完解压缩后,把 ICSharpCode.SharpZipLib.dll 拷贝到当前项目的目录下(如果偷懒的话,可以直接拷贝到当前项目的bin\Debug目录下),在VS打开的项目引用上右键添加引用 ICSharpCode.SharpZipLib.dll然后,在VS打开的项目上右键新建一个类,命名为 ZipHelp

Linux 文件及文件夹权限

普及 linux 基础知识,Linux 文件及文件夹权限,不要动不动就 777 权限.网上教程过于复杂啰嗦,简单总结如下...一.查看 Linux 文件权限 ls -l (通用)ll (Ubuntu适用,等于ls -al) 二.权限标示符 r(读).w(写).x(执行)4(读).2(写).1(执行) 注:目录必须有执行权才能读取 二.修改 Linux 文件权限 方法一 chmod -R 777 dir/-R 更改dir 目录及dir内所有子文件和文件夹777 指将"文件所属用户.所属用户组.其它

修改文件夹权限以及右键终端设置

ubuntu 14.04文件夹被锁定了怎么解 ls -ll看权限,然后chmod 777赋予权限,这就跟windows下的ntfs设置了用户权限一样,你没有访问这个目录的权限,自然不能创建文件了.如果对这两个命令不了解,可以man一下.man lsman chmod这样可以查看命令帮助. Ubuntu 14.04右键终端的设置 首先要安装一个包,即可在右键里面添加一个“打开终端”的菜单. sudo apt-get install nautilus-open-terminal 修改文件夹及其子文件

zbb20170811 linux 给用户授予文件夹权限

linux 给用户授予文件夹权限 你好, 比如一个目录dir, 你的用户名hengyang, 执行下面命令就可以赋予用户创建目录的权限. 用root用户执行: chown hengyang.hengyang dir

ubuntu chmod 无法更改 文件夹权限 系统提示“不允许的操作 2、linux 如何修改只读文件 3、ubuntu安装

1.ubuntu chmod 无法更改 文件夹权限 系统提示“不允许的操作 答案:需要超级用户权限 sudo 2.linux 如何修改只读文件 答案:可以使用chmod命令,为改文件提供其他的权限.u表示用户.a表示全部.g表示组,r表示可读.w表示可写.x表示可执行,你可以使用“chmod a+w test.c”来添加权限,这是比较方便的直观的方法 3.ubuntu安装samba实现与windows文件共享 为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了S