oracle 11.2.0.1 for windows server2012R2应用p12429529_112010_MSWIN-x86-64补丁

简介: oracle 11.2.0.1 for windows server2012R2应用p12429529_112010_MSWIN-x86-64补丁集,也是oracle数据库安全加固的范畴。

    oracle 11.2.0.1 for windows server2012R2应用p12429529_112010_MSWIN-x86-64补丁集,也是oracle数据库安全加固的范畴。因为每次oracle数据库加固过程中

总会有些许意外发生,这里记录一次oracle 11.2.0.1 for windows server2012R2应用p12429529_112010_MSWIN-x86-64补丁集。


本次oracle安全加固使用的参考文档:


一、目的

针对windwos server 2012/2012R2平台上运行的oracle数据库 11.2.0.1应用目前可用最新的CPU补丁集p12429529,修复该版本数据库在日常应用中的风险漏洞,

减少应用系统架构非计划停机时间、屏蔽数据库风险漏洞被利用的可能。

 

二、安全加固基础信息

操作系统类型

数据库版本

预用补丁版本

备注

windows server 2012R2

oracle 11.2.0.1

p12429529_112010_MSWIN-x86-64

 最新CPU

windows server 2012

oracle 11.2.0.1

p12429529_112010_MSWIN-x86-64

 最新CPU

 

三、安全加固操作步骤

1、  对预用补丁集数据库的应用进行关停;

2、  对预用补丁集数据库进行基础健康检查;

3、  预用补丁集数据库备份前启停,排除已有会话干扰;

4、  对预用补丁集数据库进行备份,做expdp/rman全备;

5、  预用补丁集前数据库相关服务全部停止

a)        停止数据库监听lsnrctl stop

b)        停止数据库服务shutdown immediate;

c)        操作系统层次停止oracle相关的所有服务

6、  Opatch版本升级

a)        备份旧版本的opatch目录及文件

b)        解压新版opatch(p6880880_112000_MSWIN-x86-64)到ORACLE_HOME目录

7、  应用补丁集

a)        解压补丁集p12429529

b)        设置操作系统环境变量

c)        应用补丁集p12429529

8、  启动数据库相关服务

a)        启动数据库操作系统层次相关服务,参考5.c操作

b)        确认数据库监听状态lsnrctl status

c)        确认数据库状态

Select open_mode from v$database;

Select status from v$instance;

d)        确认补丁集应用情况 opatch lsinventory

9、  应用程序功能性验证

四、风险评估

1、  应用CPU补丁能修复已有数据库漏洞,但是也会引入新的未知oracle漏洞,CPU产生的影响需在应用日后的使用中发现。

2、  不排除CPU补丁的应用失败情况

五、失败回退

1、  尝试补丁集回滚,然后重启数据库服务,如应用测试后正常,则回滚成功;

2、  删除当前数据库,新建对应版本数据库,使用备份进行恢复,经测正常后回退成功。

---------------------------------------------------------------------------------------------------------------------

oracle 11.2.0.1 for windows server2012R2应用p12429529_112010_MSWIN-x86-64补丁集过程如下:

1、关停相关oracle数据库的应用程序


2、打补丁前数据库基础健康检查

--查看数据库实例状态

SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE

SQL> select status from v$instance;
STATUS
------------
OPEN

SQL> select count(*) from v$session;
  COUNT(*)
----------
        31
SQL>


--查看数据库大小

--查看数据库归档模式,以确定数据库备份策略

--查看数据库组件状态

--查看数据库告警日志,确定数据库是否有历史遗留故障

3、  预用补丁集数据库备份前启停,排除已有会话干扰;


4、  对预用补丁集数据库进行备份,做expdp全备(由于对方库是非归档模式);

create directory zhul as 'e:\orabak';

expdp \"/ as sysdba\" directory = zhul dumpfile=expdp_full_orcl_20171201_%U.dmp expdp_full_orcl_20171201.log full=y


5、  预用补丁集前数据库相关服务全部停止

a)        停止数据库监听lsnrctl stop

C:\Users\Administrator>lsnrctl stop
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 01-12月-2017 17:14:04

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hp)(PORT=1521)))
命令执行成功

b)        停止数据库服务shutdown immediate;

c)        操作系统层次停止oracle相关的所有服务

6、  Opatch版本升级

a)        备份旧版本的opatch目录及文件

b)        解压新版opatch(p6880880_112000_MSWIN-x86-64)到ORACLE_HOME目录

D:\app\Administrator\product\11.2.0\dbhome_1\OPatch>opatch lsinventory
Oracle 中间补丁程序安装程序版本 11.2.0.3.6
版权所有 (c) 2013, Oracle Corporation。保留所有权利。
Oracle Home       : D:\app\Administrator\product\11.2.0\dbhome_1
Central Inventory : C:\Program Files\Oracle\Inventory
   from           : n/a
OPatch version    : 11.2.0.3.6
OUI version       : 11.2.0.1.0
Log file location : D:\app\Administrator\product\11.2.0\dbhome_1\cfgtoollogs\opa
tch\opatch2017-12-01_17-29-01下午_1.log
Lsinventory Output file location : D:\app\Administrator\product\11.2.0\dbhome_1\
cfgtoollogs\opatch\lsinv\lsinventory2017-12-01_17-29-01下午.txt
--------------------------------------------------------------------------------
已安装的顶级产品 (1):
Oracle Database 11g                                                  11.2.0.1.0
此 Oracle 主目录中已安装 1 个产品。
此 Oracle 主目录中未安装任何中间补丁程序。
--------------------------------------------------------------------------------
OPatch succeeded.
D:\app\Administrator\product\11.2.0\dbhome_1\OPatch>


7、  应用补丁集

a)        解压补丁集p12429529

b)        设置操作系统环境变量

C:\Users\Administrator>set oracle_home=D:\app\Administrator\product\11.2.0\dbhome_1

c)        应用补丁集p12429529

D:\app\Administrator\product\11.2.0\dbhome_1\OPatch>c:
c:\>cd C:\Users\Administrator\Desktop\p12429529_112010_MSWIN-x86-64\12429529

C:\Users\Administrator\Desktop\p12429529_112010_MSWIN-x86-64\12429529>D:\app\Administrator\product\11.2.0\dbhome_1\OPatch\opatch apply
Oracle 中间补丁程序安装程序版本 11.2.0.3.6
版权所有 (c) 2013, Oracle Corporation。保留所有权利。
Oracle Home       : D:\app\Administrator\product\11.2.0\dbhome_1
Central Inventory : C:\Program Files\Oracle\Inventory
   from           : n/a
OPatch version    : 11.2.0.3.6
OUI version       : 11.2.0.1.0
Log file location : D:\app\Administrator\product\11.2.0\dbhome_1\cfgtoollogs\opa
tch\12429529_Dec_01_2017_17_34_20\apply2017-12-01_17-34-20下午_1.log
Applying interim patch '12429529' to OH 'D:\app\Administrator\product\11.2.0\dbhome_1'
Verifying environment and performing prerequisite checks...
Patch 12429529: Optional component(s) missing : [ oracle.rdbms.ic, 11.2.0.1.0 ]
, [ oracle.has.crs, 11.2.0.1.0 ] , [ oracle.usm, 11.2.0.1.0 ]
All checks passed.
提供电子邮件地址以用于接收有关安全问题的通知, 安装 Oracle Configuration Manager
并启动它。如果您使用 My Oracle
Support 电子邮件地址/用户名, 操作将更简单。
有关详细信息, 请访问 http://www.oracle.com/support/policies.html。
电子邮件地址/用户名:
尚未提供电子邮件地址以接收有关安全问题的通知。
是否不希望收到有关安全问题 (是 [Y], 否 [N]) [N] 的通知:  Y
请关闭本地系统上在此 ORACLE_HOME 之外运行的 Oracle 实例。
(Oracle 主目录 = 'D:\app\Administrator\product\11.2.0\dbhome_1')
本地系统是否已准备打补丁? [y|n]
y
User Responded with: Y
Backing up files...
正在为组件 oracle.rdbms.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.util, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.dbscripts, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.plsql, 11.2.0.1.0 打补丁...
正在为组件 oracle.xdk.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.network.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.oraolap, 11.2.0.1.0 打补丁...
正在为组件 oracle.ntoledb.odp_net_2, 11.2.0.1.0 打补丁...
正在为组件 oracle.has.db, 11.2.0.1.0 打补丁...
正在为组件 oracle.has.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.javavm.server, 11.2.0.1.0 打补丁...
正在为组件 oracle.network.listener, 11.2.0.1.0 打补丁...
正在为组件 oracle.odbc.ic, 11.2.0.1.0 打补丁...
正在为组件 oracle.oraolap.api, 11.2.0.1.0 打补丁...
正在为组件 oracle.owb.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.precomp.common, 11.2.0.1.0 打补丁...
正在为组件 oracle.ctx, 11.2.0.1.0 打补丁...
正在为组件 oracle.has.common, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.rsf.ic, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.oci, 11.2.0.1.0 打补丁...
正在为组件 oracle.has.common.cvu, 11.2.0.1.0 打补丁...
正在为组件 oracle.has.deconfig, 11.2.0.1.0 打补丁...
正在为组件 oracle.swd.oui.core, 11.2.0.1.0 打补丁...
正在为组件 oracle.ntoledb, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.deconfig, 11.2.0.1.0 打补丁...
正在为组件 oracle.sysman.agent, 10.2.0.4.2 打补丁...
正在为组件 oracle.precomp.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.precomp.common, 11.2.0.1.0 打补丁...
正在为组件 oracle.sysman.console.db, 11.2.0.1.0 打补丁...
正在为组件 oracle.sysman.oms.core, 10.2.0.4.2 打补丁...
正在为组件 oracle.sysman.plugin.db.main.repository, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.dv.oc4j, 11.2.0.1.0 打补丁...
正在为组件 oracle.ldap.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.ldap.rsf.ic, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.dv, 11.2.0.1.0 打补丁...
正在为组件 oracle.nlsrtl.rsf, 11.2.0.1.0 打补丁...
Verifying the update...
Patch 12429529 successfully applied
Log file location: D:\app\Administrator\product\11.2.0\dbhome_1\cfgtoollogs\opat
ch\12429529_Dec_01_2017_17_34_20\apply2017-12-01_17-34-20下午_1.log


OPatch succeeded.
C:\Users\Administrator\Desktop\p12429529_112010_MSWIN-x86-64\12429529>d:
D:\app\Administrator\product\11.2.0\dbhome_1\OPatch>
D:\app\Administrator\product\11.2.0\dbhome_1\OPatch>opatch lsinventory
Oracle 中间补丁程序安装程序版本 11.2.0.3.6
版权所有 (c) 2013, Oracle Corporation。保留所有权利。
Oracle Home       : D:\app\Administrator\product\11.2.0\dbhome_1
Central Inventory : C:\Program Files\Oracle\Inventory
   from           : n/a
OPatch version    : 11.2.0.3.6
OUI version       : 11.2.0.1.0
Log file location : D:\app\Administrator\product\11.2.0\dbhome_1\cfgtoollogs\opa
tch\opatch2017-12-01_17-38-33下午_1.log
Lsinventory Output file location : D:\app\Administrator\product\11.2.0\dbhome_1\
cfgtoollogs\opatch\lsinv\lsinventory2017-12-01_17-38-33下午.txt
--------------------------------------------------------------------------------
已安装的顶级产品 (1):
Oracle Database 11g                                                  11.2.0.1.0
此 Oracle 主目录中已安装 1 个产品。
中间补丁程序 (1) :
Patch  12429529     : applied on Fri Dec 01 17:35:58 CST 2017
Unique Patch ID:  13854432
   Created on 17 Jun 2011, 02:07:52 hrs PST8PDT
   Bugs fixed:
     12429529, 9554332, 12363485, 10625485, 9268192, 9935787, 10205230
     12412745, 12393432, 12341758, 10130392, 11853331, 6055658, 11723722
     11735927, 11772687, 9902590, 9871302, 10132870, 7365514, 10422748
     10180190, 9825461, 11731176, 9368502, 9705984, 10302581, 10130633
     8331063, 10237271, 10082277, 10054513, 9695366, 8889137, 10383833
     11076894, 10220194, 10401327, 9042035, 10235640, 9564886, 10104492
     9302054, 10374238, 9613016, 10432045, 8772524, 10357603, 9243068, 9448277
     8672862, 9725141, 9328390, 9275876, 9033671, 10154951, 9890701, 9628444
     10352692, 10086495, 10155684, 10156303, 10157313, 10201938, 10220033
     10278864, 8332021, 8771916, 8800514, 8874588, 8946311, 9003145, 9115829
     9131242, 9240305, 9398685, 9469117, 9569029, 9751158, 8446618, 10245351
     10052141, 10116578, 10134677, 10140809, 10157402, 10172454, 7662438
     8397251, 8499180, 8522654, 9090269, 9234660, 9255996, 9395237, 9461782
     9668086, 9703463, 9736701, 9795214, 9823660, 9826065, 9866728, 9916260
     9972680, 9524640, 8841699, 10216200, 10225758, 10155838, 10030675
     10080167, 10132342, 6866145, 8790561, 8984021, 9096076, 9137871, 9193873
     9277263, 9303326, 9457109, 9457492, 9472669, 9539440, 9659614, 9845644
     9903704, 9920616, 9930649, 10100101, 8780369, 8866808, 8883722, 9004242
     9021724, 9028780, 9049725, 9058865, 9212844, 9243912, 9306119, 9350527
     9387574, 9399991, 9413827, 9488247, 9498108, 9500147, 9532911, 9544104
     9548269, 9578533, 9593656, 9594372, 9706490, 9721013, 9734300, 9746699
     9764806, 9770451, 9778018, 9799342, 9828495, 9881328, 9932143, 10080735
     9901433, 9966926, 8574851, 8790837, 8802195, 8863249, 8981681, 8993052
     9198871, 9217088, 9300021, 9369183, 9442189, 9500046, 9648040, 9657283
     9685694, 9772171, 9847494, 9793452, 9888298, 9135679, 9495697, 9081430
     6855031, 8793567, 9286015, 9442015, 9504322, 9535951, 8684595, 9663844
     9539556, 7452759, 9196440, 8893949, 9011590, 9382101, 9775337, 9083671
     9324531, 8654177, 8569325, 8686932, 9271344, 8434467, 6086930, 9024737
     9047975, 9056912, 9069046, 9336476, 9355794, 9495669, 8467123, 8663644
     8855396, 8886819, 8951812, 8467825, 9187546, 9102860, 9109487, 8546356
     9170308, 8725282, 9308296, 9406607, 8720802, 9711859, 9531984, 9482399
     9471411, 9390484, 9362218, 9320786, 9320130, 9302343, 9290526, 9231605
     8554900, 9490054, 9389304, 8783690, 9577583, 9736229, 9259407, 8602840
     9469133, 8682102, 9693101, 9898160, 9669478, 9736865, 7327630, 8268775
     8505803, 8544696, 8565708, 8633358, 8664189, 8702535, 8755082, 8771556
     8783301, 8790767, 8799099, 8803762, 8839301, 8856478, 8865718, 8872096
     8909984, 8974548, 8981059, 8991997, 9023338, 9032717, 9057443, 9119194
     9145181, 9147830, 9165206, 9170608, 9216806, 9219338, 9227662, 9255542
     9275072, 9321701, 9341448, 9363145, 9363384, 9391025, 9399090, 9467635
     9488887, 9637033, 9711600, 9713537, 9714832, 9719541, 9736836, 7028305
     7519406, 8330783, 8431487, 8477973, 8496830, 8581792, 8607693, 8643160
     8650719, 8717461, 8730312, 8774868, 8813536, 8815639, 8822531, 8822832
     8834425, 8875671, 8879707, 8891929, 8914054, 8918433, 9001453, 9002336
     9007859, 9010222, 9011088, 9015983, 9027691, 9035113, 9041943, 9050716
     9053676, 9054253, 9057754, 9067282, 9068088, 9093300, 9120088, 9145541
     9167285, 9189070, 9202351, 9271246, 9272086, 9294110, 9298307, 9316329
     9378712, 9395500, 9408883, 9467727, 9504129, 9561609, 9584383, 9657157
     9661684, 9489422, 9595786, 8405205, 8543770, 8856467, 8998066, 8897784
     9004697, 9007836, 9036013, 9037724, 9047110, 9318214, 8328200, 8570322
     8629716, 8761974, 8857211, 8885539, 9035438, 8971021, 8685327, 8707506
     8866903, 8771297, 8772028, 8796511
--------------------------------------------------------------------------------
OPatch succeeded.
D:\app\Administrator\product\11.2.0\dbhome_1\OPatch>

C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 12月 1 17:59:34 2017
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> STARTUP

SQL> @catcpu.sql

SQL> @utlrp.sql


SQL> quit 


8、  启动数据库相关服务

a)        启动数据库操作系统层次相关服务,参考5.c操作

b)        确认数据库监听状态lsnrctl status

C:\Users\Administrator>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 01-12月-2017 20:38:48
Copyright (c) 1991, 2010, Oracle.  All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
启动日期                  01-12月-2017 20:38:43
正常运行时间              0 天 0 小时 0 分 5 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件          d:\app\administrator\diag\tnslsnr\XXFB02\listener\alert\log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=XXFB02)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
  实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 3 个处理程序...
命令执行成功

c)        确认数据库状态

C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 12月 1 17:39:34 2017
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
SQL> select status from v$instance;
STATUS
------------
OPEN

SQL>select comp_id,comp_name,version,status from dba_registry
COMP_ID         COMP_NAME                      VERSION         STATUS
--------------- ------------------------------ --------------- ----------------------
OWB             OWB                            11.2.0.1.0      VALID
APEX            Oracle Application Express     3.2.1.00.10     VALID
EM              Oracle Enterprise Manager      11.2.0.1.0      VALID
AMD             OLAP Catalog                   11.2.0.1.0      VALID
SDO             Spatial                        11.2.0.1.0      VALID
ORDIM           Oracle Multimedia              11.2.0.1.0      VALID
XDB             Oracle XML Database            11.2.0.1.0      VALID
CONTEXT         Oracle Text                    11.2.0.1.0      VALID
EXF             Oracle Expression Filter       11.2.0.1.0      VALID
RUL             Oracle Rules Manager           11.2.0.1.0      VALID
OWM             Oracle Workspace Manager       11.2.0.1.0      VALID
CATALOG         Oracle Database Catalog Views  11.2.0.1.0      VALID
CATPROC         Oracle Database Packages and T 11.2.0.1.0      VALID
                ypes
JAVAVM          JServer JAVA Virtual Machine   11.2.0.1.0      VALID
XML             Oracle XDK                     11.2.0.1.0      VALID
CATJAVA         Oracle Database Java Packages  11.2.0.1.0      VALID
APS             OLAP Analytic Workspace        11.2.0.1.0      VALID
XOQ             Oracle OLAP API                11.2.0.1.0      VALID
已选择18行。
SQL>

过程中可能遇到的异常

1、有时候虽然停止了数据库操作系统层次的所有服务,但是应用补丁时依然有报错:

以上报错原因,虽然oracle相关服务已经停止,但是之前连接到数据库的进程还占用数据库软件部分文件,导致OPatch无法应用补丁,需要完全释放

oracle数据库软件的文件,解决方法是:重启数据库服务器,注意需要将oracle相关的服务全部暂时调整至手动启动,补丁应用完后调整到原先的设置。

2、安装了oracle数据库客户端的服务器需要临时调整操作系统PATH变量,否则无法登陆数据库

C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 12月 1 20:29:40 2017
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
ERROR:
ORA-12560: TNS: 协议适配器错误
请输入用户名:
ERROR:
ORA-12560: TNS: 协议适配器错误
请输入用户名:
ERROR:
ORA-12560: TNS: 协议适配器错误
SP2-0157: 在 3 次尝试之后无法连接到 ORACLE, 退出 SQL*Plus
C:\Users\Administrator>

--调整前:

D:\app\Administrator\product\11.2.0\client_1;D:\app\Administrator\product\11.2.0\dbhome_1\bin;C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn\;C:\AltiServ\Exe;C:\AltiServ\SP\H323SP;C:\Program Files (x86)\AltiGen\VRManager\bin
--临时调整
D:\app\Administrator\product\11.2.0\dbhome_1\bin;C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn\;C:\AltiServ\Exe;C:\AltiServ\SP\H323SP;C:\Program Files (x86)\AltiGen\VRManager\bin

3、本次打补丁一共实施了3个oracle实例,过程中就有一个实例从高级日志中确定其临时表空间有问题,备份的时候因临时表空间问题无法备份


关于临时表空间有问题的实例解决方法是重建临时表空间


目录
相关文章
|
1月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
162 64
|
12天前
|
安全 前端开发 Windows
Windows Electron 应用更新的原理是什么?揭秘 NsisUpdater
本文介绍了 Electron 应用在 Windows 中的更新原理,重点分析了 `NsisUpdater` 类的实现。该类利用 NSIS 脚本,通过初始化、检查更新、下载更新、验证签名和安装更新等步骤,确保应用的更新过程安全可靠。核心功能包括差异下载、签名验证和管理员权限处理,确保更新高效且安全。
25 4
Windows Electron 应用更新的原理是什么?揭秘 NsisUpdater
|
1月前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
1月前
|
SQL 存储 Oracle
Oracle数据库SQL语句详解与应用指南
在数字化时代,数据库已成为各类企业和组织不可或缺的核心组件。Oracle数据库作为业界领先的数据库管理系统之一,广泛应用于各种业务场景。掌握Oracle数据库的SQL语句是数据库管理员、开发人员及运维人员的基本技能。本文将详细介绍Oracle数据库SQL语句的基本概念、语法、应用及最佳实践。一、Or
56 3
|
1月前
|
XML 缓存 前端开发
Electron-builder 是如何打包 Windows 应用的?
本文首发于微信公众号“前端徐徐”,作者徐徐深入解析了 electron-builder 在 Windows 平台上的打包流程。文章详细介绍了 `winPackager.ts`、`AppxTarget.ts`、`MsiTarget.ts` 和 `NsisTarget.ts` 等核心文件,涵盖了目标创建、图标处理、代码签名、资源编辑、应用签名、性能优化等内容,并分别讲解了 AppX/MSIX、MSI 和 NSIS 安装程序的生成过程。通过这些内容,读者可以更好地理解和使用 electron-builder 进行 Windows 应用的打包和发布。
123 0
|
1月前
|
数据可视化 程序员 C#
C#中windows应用窗体程序的输入输出方法实例
C#中windows应用窗体程序的输入输出方法实例
46 0
|
3月前
|
Unix Linux Ruby
在windows和linux上高效快捷地发布Dash应用
在windows和linux上高效快捷地发布Dash应用
|
3月前
|
Linux iOS开发 开发者
跨平台开发不再难:.NET Core如何让你的应用在Windows、Linux、macOS上自如游走?
【8月更文挑战第28天】本文提供了一份详尽的.NET跨平台开发指南,涵盖.NET Core简介、环境配置、项目结构、代码编写、依赖管理、构建与测试、部署及容器化等多个方面,帮助开发者掌握关键技术与最佳实践,充分利用.NET Core实现高效、便捷的跨平台应用开发与部署。
197 3
|
3月前
|
vr&ar C# 图形学
WPF与AR/VR的激情碰撞:解锁Windows Presentation Foundation应用新维度,探索增强现实与虚拟现实技术在现代UI设计中的无限可能与实战应用详解
【8月更文挑战第31天】增强现实(AR)与虚拟现实(VR)技术正迅速改变生活和工作方式,在游戏、教育及工业等领域展现出广泛应用前景。本文探讨如何在Windows Presentation Foundation(WPF)环境中实现AR/VR功能,通过具体示例代码展示整合过程。尽管WPF本身不直接支持AR/VR,但借助第三方库如Unity、Vuforia或OpenVR,可实现沉浸式体验。例如,通过Unity和Vuforia在WPF中创建AR应用,或利用OpenVR在WPF中集成VR功能,从而提升用户体验并拓展应用功能边界。
70 0
|
3月前
|
存储 开发者 C#
WPF与邮件发送:教你如何在Windows Presentation Foundation应用中无缝集成电子邮件功能——从界面设计到代码实现,全面解析邮件发送的每一个细节密武器!
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中集成电子邮件发送功能,详细介绍了从创建WPF项目到设计用户界面的全过程,并通过具体示例代码展示了如何使用`System.Net.Mail`命名空间中的`SmtpClient`和`MailMessage`类来实现邮件发送逻辑。文章还强调了安全性和错误处理的重要性,提供了实用的异常捕获代码片段,旨在帮助WPF开发者更好地掌握邮件发送技术,提升应用程序的功能性与用户体验。
64 0

推荐镜像

更多
下一篇
无影云桌面