windows作为产品的一些设置和开发(经验之谈)
目录
- 1. 概述
- 2. 常用软件的打包
- 2.1 python 代码打包成exe文件
- 2.2 golang 软件打包成exe文件
- 3. 软件服务开机自启动
- 3.1 nssm 制作开机自启动服务
- 3.2 winSW制作开机自启动服务
- 4. 对自己的系统进行打包
- 4.1 对系统定制化设置
- 4.1.1 chorme 浏览器设置
- 4.1.2 开机不启动桌面,打开指定软件
- 4.2 制作系统镜像
- 4.3 镜像安装
1. 概述
工作原因,需要将软件部署在windows上面.同时还需要将安装好软件的windows环境进行打包做成镜像文件,特意记录下来.
2. 常用软件的打包
2.1 python 代码打包成exe文件
- 下载pyinstaller:
pip install pyinstaller
- 进入你main.py 的目录下面执行命令:
pyinstaller -D main.py
- 会在当前目录下生成有一个叫dist 的文件夹,打包生成的exe文件就在 main 文件夹中,需要注意的是 pyinstaller -D 的参数是创建一个包含可执行文档的单个文件夹包,这意味着它只会将源代码打包成exe文件,然后其它依赖生成 .dll文件,然后它也会将我们引入的一些第三方库拷贝到当前的文件夹中。还有-F 等其他命令请自行了解。
- 在运行 main.exe 文件的时候可能会出现某个包 not found 的错误,那么我们需要到python 的安装目录下面的
Lib/site-packages/
找到对应的包拷贝或替换到dist/main/
中。 - pyinstaller 打出来的包往往会很大 ,还可以使用将.py 文件编译成.pyd的方法来编译python 文件。
2.2 golang 软件打包成exe文件
- 在对应的main.go文件夹下执行
go build
即可生成.exe 文件
3. 软件服务开机自启动
3.1 nssm 制作开机自启动服务
- 编写批处理脚本,因为如果存在需要读取一些静态文件,比如说config文件,如果文件的地址定义的是相对路径,不进入到 main.exe 文件夹下执行的话会出错。
d:
cd python/test/dist/main
main.exe
- 下载nssm,并打开nssm,需要进入到nssm 的解压地址下面执行
./nssm.exe install
这个后面可以跟上你自定义的服务名,比如说./nssm.exe install mytest.service
. 下载地址:nssm官方下载 - 完成后,会打开nssm 软件的安装界面,在 application path 选项框中选择 .bat 的路径,如果在第二步输入命令的时候没有写上服务名,那么在打开的界面的service name需要填上服务名,然后点击install service。
- 按下 win+r 键,输入 services.msc 打开服务管理,然后找到 mytest.service ,点击属性,设置服务自启动,并打开该服务。重启电脑查看服务的启动情况。
- nssm 还提供其他命令:
安装服务:nssm install 服务名
删除服务:nssm remove 服务名
启动服务:nssm start 服务名
停止服务:nssm stop 服务名
重启服务:nssm restart 服务名
3.2 winSW制作开机自启动服务
- 下载winSW,下载完成后,将其拷贝到 main.exe 的下面。下载地址:GitHub
- 创建一个和 winSW 同名称的.xml 文件,比如说你的 winSW 文件是叫做 winSW .exe 那么你的 xml 文件取名就应该为 winSW .xml,接下来编写xml 的内容:
<service><id>test</id><name>test</name><description>测试服务</description><executable>%BASE%/main.exe</executable><log mode="none"></log></service>
- 进入到winsw 文件目录下面,打开cmd,执行
winSW.exe install
,打开系统服务,即可找到名为test 的服务,winSW 默认设置的是自启动。 - 日志模式我设置的是 none,因为我编写的程序本身就有日志模块,所以我将winsw 的日志记录禁用了,日志的详细设置可以查看 github。
- winsw 还有提供其他的一些命令操作服务:
winsw uninstall # 卸载服务
winsw start # 开启服务
winsw stop # 关闭服务
winsw restart # 重启服务
winsw status # 查看服务状态
4. 对自己的系统进行打包
4.1 对系统定制化设置
4.1.1 chorme 浏览器设置
- 启动全屏
全屏启动有俩种设置,一种是以app 模式启动,另外一种是kiosk模式启动。app模式可以响应键盘快捷按键,也可以响应鼠标右键单击事件,也能点击按钮关闭窗口,反之kiosk模式 这些都不能实现,关闭只能使用 alt+f4。在确定想要的功能之前,请选择正确的模式。
app启动的一种方式是,右键点击桌面chorme 的快捷图标,然后点击属性,在快捷方式->目标 输入框的最后加上 --app=http://www.baidu.com --start-maximized ,这样就全屏打开 了baidu;kiosk 模式的话,,只需要在 快捷方式->目标 输入框的最后面加上 -k 就可以了。 - 取消自动更新
最新版chorme 没有办法取消自动更新,70 版本之前的应该可以,进入系统服务,找到google更新服务,禁用它们。
- 取消弹出翻译框
打开一些英文界面时会自动弹出是否需要翻译的框。打开chorme 设置,在高级->语言->语言->询问是否翻译非您所用语言的网页-> 关闭
4.1.2 开机不启动桌面,打开指定软件
windows 电脑开机后默认是打开桌面,我的需求是开机后不启动桌面,直接打开我想要打开的软件,比如说chorme浏览器,具体设置如下:
1. 打开注册表, cmd-->regedit
2. 找到 HKEY_LOCAL_MACHINE-->SOFTWARE-->Microsoft-->Windwos NT-->CurrentVersion-->Winlogin shell键
3. 将explorer.exe 改为 chorme的启动地址
4. 重启,即可开机直接打开chorme
在替换完之后,你的explorer 不会启动,当关闭浏览器后,会显示黑屏,如果需要重新设置回来,执行下面的操作步骤:
1. 按住contro+alt+./delete 打开任务管理器
2. 点击文件,选择新建任务
3. 输入 regedit,打开任务管理器,执行开始的步骤,将shell 重新改回 explorer.exe 即可。
4. 如果在黑屏状态下需要打开文件管理器,那么在新建任务的输入框里输入 explorer.exe 即可打开文件管理器。
如果按照以上设置,windows 的部分功能可能不能正常调用,但是不会造成太大影响。
4.2 制作系统镜像
镜像制作,我使用的是Easy Sysprep v5,它可以生成WIM镜像,他们的官网是https://www.itsk.com/.
首先制作镜像的话需要下载Easy Sysprep v5软件,地址是https://www.itsk.com/thread-402133-1-1.html,下载完成后解压到u盘或者待粉装系统的电脑中,注意,不要解压到C盘中,因为我们封装系统一般是封装的C盘.
封装系统分为俩步.第一步是在非PE 模式下,第二步是在PE模式下进行的.具体步骤可以查看链接http://www.360doc.com/content/19/1030/13/833562_870045336.shtml.
在这里PE模式指的是插入U盘启动盘,进入U盘启动盘的系统中,U盘启动盘的制作的话,我选的是优启通,这里贴上下载链接https://www.itsk.com/forum.php?mod=viewthread&tid=423875.
制作过程如下:
1.插入U盘
2.按如下操作
3.等待
4.3 镜像安装
制作好镜像后,接下来就是安装镜像,同样也是使用优启通进入PE模式.官方提供的安装链接:https://mp.weixin.qq.com/s/sT0bcz1V8_vOFTrVzy102w
1.选择系统安装工具
2.恢复镜像
3. 取消启动运行万能驱动的勾选
windows作为产品的一些设置和开发(经验之谈)相关推荐
- 使用 Dreamweaver 设置 PHP 开发环境
摘要: 本教程说明如何在 Windows 或 Macintosh 计算机上设置一个开发环境,使用 Adobe Dreamweaver 和 MySQL 数据库服务器构建 PHP Web 应用程序.为 D ...
- 在Windows上设置CloudStack开发环境
1)安装 Cygwin. Cygwin 可以为你的windows提供一个类似Unix 的bash shell 环境. 下载并安装Cygwin请使用 setup.exe. 设置 Cygwin 安装路径为 ...
- 在Windows 7中设置Java开发环境
一段时间以来,我收到了很多愿意尝试Java语言的学生和人们的要求,它们提供了关于如何设置Java开发环境的简单指南,类似于我一年前写的那样. Mac用户. 看到这里和这里 . 因此,本文主要针对Jav ...
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- windows、虚拟机下的ubuntu、开发板即能ping通,又能上网的设置方法
背景 在原来所写的一篇一样的环境下,再实现windows.ubuntu(linux)都能上网(原来所设置,ubuntu不能上网). 附链接及原来背景:开发板通过网线和电脑直连,ping通的网络设置 P ...
- 设置DirectShow开发的编译环境
这个章节的内容主要是编写 DirectShow应用所需的一些基本概念,可以把它当作一个高级介绍,理解这些内容只需具备一般的编程和有关多媒体的知识. 2.1. 设置DirectShow开发的编译环境 ...
- 使用Visual Studio Code设置Python开发环境
目录 布局 Windows集中式安装 假设与要求 在Windows上安装 安装VS代码 安装VS代码扩展 在Windows上设置Python开发环境 安装Python 创建一个虚拟环境 创建项目和设置 ...
- windows server 2003的一些设置
一.windows server 2003 3790版本识别 RTM=release to manufacture (公开发行批量生产)是给硬件制造商的版本!是送去压盘的,不是拿去卖的. OEM=Or ...
- visual studio下设置驱动开发环境
原文地址:visual studio 下设置驱动开发环境 作者:空空的左手 摘自:http://hi.baidu.com/%D0%DD%CF%D0e%D7%E5/blog/item/ad97a10e5 ...
最新文章
- Java并发之同步的产生及解决
- CPU缓存L1/L2/L3工作原理
- GIT 牛刀小试 (第一发)
- VSFTP服务--Linux学习笔记
- debug LUW1 - do binding workflow
- SAP Spartacus初始化时和user token相关的APP INITIALIZER
- 永远要跟比你更成功的人在一起
- arm linux head.s,arm-linux head.S 源代码分析
- 华为云数据库内核专家为您揭秘:GaussDB(for MySQL)并行查询有多快?
- Compiled from Servlet.java (version 1.7 : 51.0 查看Servlet源码
- 计算机电子表格公式应用和操作,计算机电子表格公式应用常见错误及处理
- 《Spring》(十一) ---- 基于注解的依赖注入
- 数电第三章 布尔代数与逻辑函数化简
- 可控硅工作原理及参数详解
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。(java)
- Camtasia Studio 8
- blog6-beta_2
- 基因表达式编程(GEP)自学 第【3】天 Python 实现
- (译)三维空间中的几种坐标系
- 你离年薪50w的架构师还差多远