HelloWorld 专案是一般.net Core 的 MVC专案,
我们安装系统完成後,总不能都要让别人开启小黑窗吧0.0….
所以我们来让HelloWorld 的专案底层服务化吧 !
首先我们在HelloWorld专案上安装 Microsoft.Extensions.Hosting.WindowsServices
然後在Program 内 加入UseWindowsService();
HelloWorld专案就已经可以做成WindwosService 了
那因为有增加Dll 的关系,我们HelloWorld 专案需要重新发布 打包
用Day 3 的方式处理掉。
然後我们看到Product.wxs里面
我们新增一个 新的 Fragment在我们 ProductComponents 上面
<Fragment>
<Component Id="cmp0664ED639015C443993CB8969BD6448D" Directory="INSTALLFOLDER" Guid="{6C85D1F5-3B46-4FBC-9C6D-007E476D0E7D}">
<File Id="filA5D6E0AECC10963EACFBDD58A3762306" KeyPath="yes" DiskId="1" Vital="yes" Source="DemoHelloWorld\HelloWorld.exe"/>
<ServiceInstall Id="HelloWorldInstaller" Name="HelloWorld"
DisplayName="Aslan demo use HelloWorld" Description="demo use"
Type="ownProcess" Vital="yes"
Start="auto"
ErrorControl="normal"
Account="LocalSystem"
Arguments="-start"
Interactive="no" />
<ServiceControl Id="StartHelloWorldService" Name="HelloWorld"
Stop="both" Remove="uninstall"
Wait="yes" />
</Component>
</Fragment>
这段是将 HelloWorld.exe 档案额外拉出来做服务启动的部分,
当然额外拉出来後,下面的HelloWorld.exe档案要记得移除,不然会出错。
然後在最上面注册部分加入
<ComponentRef Id="cmp0664ED639015C443993CB8969BD6448D" />
重新安装後,我们可以看到
HelloWorld 已经在背景等候着了,
我们按右键执行,开启网页测试!
那如果说没有使用自订动作的情况下,
背景服务会自动执行...
推测应该是执行顺序有冲突
-後记
如果要测试系统服务化了话,
可以使用CMD,新增HelloWorld服务的指令,
路径需要修正成你的exe位置
sc create HelloWorld binpath= "D:\WixToolset Demo\DemoUse.Installer\DemoHelloWorld\HelloWorld.exe"
删除HelloWorld服务
sc delete HelloWorld
Day12程序码
https://github.com/Aslan7826/defaultMVC/commits/Day12
<<: #12 JavaScript Introduction
>>: Spring Framework X Kotlin Day 7 Docker & CI
Hello, 各位 iT邦帮忙 的粉丝们大家好~~~ 本篇是 Re: 从零开始用 Xamarin 技...
今天要来爬取另一个知名论坛—Dcard 比起昨天的批踢踢,爬取Dcard论坛的过程会稍微复杂一些些 ...
Aloha~!又是我少女人妻 Uerica!今天终於可以进入到演算法的章节啦 (欢呼) ~ 之前因为...
使用firebase简易资料库 在使用前要将专案连结至firebase 第一步:在firebase创...
tags: 铁人赛 AWS Cloud 概述 碎念时间 今天来玩玩 AWS (Amazon Web ...