天天看点

【Eelectron-vue】构建桌面应用(21)- Inno Setup CreateProcess failed;code 740 请求的操作需要提升

在前面的文章中提到过,我是用的是一款名叫

Inno Setup

的打包安装工具,可以打包成

windows

安装文件。

在项目收尾的时候,发现使用

Inno Setup

打包成安装文件后,双击安装文件,执行安装,在最后一步的时候,如果你勾选了

Launch 某应用

的时候会出现需要提升程序执行权限的问题,如下:

【Eelectron-vue】构建桌面应用(21)- Inno Setup CreateProcess failed;code 740 请求的操作需要提升

在网上查了一下,其中微软官网提到需要提升程序的操作权限即需要用管理员权限启动才没有问题,连接查看这里。

【Eelectron-vue】构建桌面应用(21)- Inno Setup CreateProcess failed;code 740 请求的操作需要提升

然而,我并不想每次用户启动程序的时候都需要右键程序,然后选择管理员权限执行,所以这种官方的这种方式不是我想要的。

在无意间做了这么个尝试,安装之后选择

Launch 应用

的时候会出现这个错误,当我把错误关闭掉后,然后在双击执行应用,发现并没有这个错误,那么说明这并不是

windows

的问题,而我程序也并未牵扯到需要提升权限的操作。那么只有一种可能,那就应该是我的打包软件的问题,即

Inno Setup

的问题。

于是在网上搜索怎么给

Inno Setup

安装的软件提供

启动时的管理员权限

发现网上还是有不少教程的,来看一下具体怎么操作。

首先你需要下载一个可以查看二进制文件的工具,因为我们需要去编辑

Inno Setup

中的二进制文件,所以需要下载

Resource Hacker

TM,连接

下载之后打开

Resource Hacker

TM,然后打开

Inno Setup

的安装目录,找到

SetupLdr.e32

文件,打开。

如果你忘了软件的具体的安装目录,可以右键该软件,查看属性,就可以看到具体的安装目录:

【Eelectron-vue】构建桌面应用(21)- Inno Setup CreateProcess failed;code 740 请求的操作需要提升

因为

Resource Hacker

TM 默认打开的是

.res

.exe

.dll

等格式的文件,所以第一次打开的时候,是看不到

SetupLdr.e32

文件的,所以你需要切换成所有格式的文件。

点击

File->Open

,选择

Inno Setup

的安装目录

【Eelectron-vue】构建桌面应用(21)- Inno Setup CreateProcess failed;code 740 请求的操作需要提升

如下,这样就能看到

SetupLdr.e32

这个文件了,然后选择打开。

【Eelectron-vue】构建桌面应用(21)- Inno Setup CreateProcess failed;code 740 请求的操作需要提升

打开后,找到

requestedExecutionLevel

,并将其修改为管理员权限

【Eelectron-vue】构建桌面应用(21)- Inno Setup CreateProcess failed;code 740 请求的操作需要提升
<requestedExecutionLevel level="asInvoker"  uiAccess="false"/>
// 改为
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
           

最后,点击编辑,并保存

【Eelectron-vue】构建桌面应用(21)- Inno Setup CreateProcess failed;code 740 请求的操作需要提升

最后,你可以使用

Inno Setup

再次进行应用的打包,打包之后安装勾选

Launch 应用

,就不会再出现这个错误了。

还有一个问题待研究,为了安全考虑,一般安装的程序不会让它去获取管理员权限,否则你的计算机可能处于危险状态。

Inno Setup

既然可配置管理员权限,那么是不是也可以取消程序第一次

Launch

的时候,不需要管理员权限就能执行呢?研究之后,下片文章再讲。

继续阅读