Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ha .NET Windows-szolgáltatást hoz létre (nem tévesztendő össze a .NET-keretrendszer Windows-szolgáltatásával), érdemes lehet létrehoznia egy telepítőt a szolgáltatáshoz. Telepítő nélkül a felhasználóknak tudniuk kell, hogyan kell telepíteni és konfigurálni a szolgáltatást. A telepítő összecsomagozza az alkalmazás végrehajtható fájljait, és testre szabható telepítési felhasználói élményt tesz elérhetővé. Ez az oktatóanyag a Windows-szolgáltatás létrehozása oktatóanyag folytatása. Bemutatja, hogyan hozhat létre telepítőt a .NET Windows-szolgáltatáshoz.
Ebben az oktatóanyagban megtanulhatja, hogyan:
- Telepítse a Visual Studio Installer Projects bővítményt.
- Hozzon létre egy telepítőprojektet.
- Frissítsen egy meglévő .NET-feldolgozó projektet a telepítés támogatásához.
- Automatizálja a telepítést és az eltávolítást a Windows Service Control Managerrel.
Előfeltételek
- Várhatóan elvégezte a Windows-szolgáltatás létrehozása oktatóanyagot, vagy készen áll a mintaadattár klónozására.
- A .NET 8.0 SDK vagy újabb
- Windows operációs rendszer
- .NET integrált fejlesztési környezet (IDE)
- Nyugodtan használhatja Visual Studio
- Meglévő .NET Windows-szolgáltatás
Eszközfüggőségek telepítése
Először telepítse a Wix Toolsetet. A Wix Toolset olyan eszközök készlete, amelyek XML-forráskódból windowsos telepítési csomagokat építenek ki.
dotnet tool install --global wix
Ezután telepítse a HeatWave for VS2022 bővítményt. A telepítés után indítsa újra a Visual Studiót, és új projektsablonok érhetők el.
Meglévő projekt lekérése
Ez az oktatóanyag a Windows-szolgáltatás létrehozása a BackgroundService oktatóanyag részeként létrehozott alkalmazáson alapul. Klónozhatja a mintaadattárat, vagy használhatja az előző oktatóanyagban létrehozott alkalmazást.
Jótanács
Az összes ".NET munkások" példaforráskód az Mintaböngésző-ból letölthető. További információért lásd: Kódminták böngészése: .NET munkavégzők.
Nyissa meg a megoldást a Visual Studióban, és válassza az F5 lehetőséget, hogy az alkalmazás a várt módon épüljön fel és fusson. Az alkalmazás leállításához nyomja le a Ctrl+C.
Új beállítási projekt hozzáadása
Új Wix-beállítási projekt hozzáadásához kattintson a jobb gombbal a megoldásra a Megoldáskezelőben, és válassza az Új projekt hozzáadása >lehetőséget:
Válassza az MSI-csomag (Wix v4) lehetőséget az elérhető sablonok közül, majd válassza a Tovább lehetőséget. Adja meg a kívánt nevet és helyet, majd válassza a Létrehozás lehetőséget.
Telepítőprojekt konfigurálása
A beállítási projekt konfigurálásához először hozzá kell adnia egy hivatkozást a App.WindowsService
projekthez. Kattintson a jobb gombbal a beállítási projektre a Megoldáskezelőben, majd válassza a Projekthivatkozás hozzáadása lehetőséget>.
A sablon példaösszetevőt és honosítási fájlokat tartalmaz. Törölje ezeket a fájlokat, és csak a Package.wxs fájlt hagyja meg. A projektnek mostantól tartalmaznia kell egy ProjectReference
, a következőhöz hasonló elemet:
<Project Sdk="WixToolset.Sdk/4.0.0">
<ItemGroup>
<ProjectReference Include="..\App.WindowsService.csproj" />
</ItemGroup>
</Project>
A projekthivatkozás hozzáadása után konfigurálja a Package.wxs fájlt. Nyissa meg a fájlt a szerkesztőben, majd cserélje le a tartalmat a következőre:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Define the variables in "$(var.*) expressions" -->
<?define Name = ".NET Joke Service" ?>
<?define Manufacturer = "Microsoft" ?>
<?define Version = "1.0.0.0" ?>
<?define UpgradeCode = "9ED3FF33-8718-444E-B44B-69A2344B7E98" ?>
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<Package Name="$(Name)"
Manufacturer="$(Manufacturer)"
Version="$(Version)"
UpgradeCode="$(var.UpgradeCode)"
Compressed="true">
<!-- Allow upgrades and prevent downgrades -->
<MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit." />
<!-- Define the directory structure -->
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFiles64Folder">
<!-- Create a folder inside program files -->
<Directory Id="ROOTDIRECTORY" Name="$(var.Manufacturer)">
<!-- Create a folder within the parent folder given the name -->
<Directory Id="INSTALLFOLDER" Name="$(Name)" />
</Directory>
</Directory>
</Directory>
<!-- The files inside this DirectoryRef are linked to
the App.WindowsService directory via INSTALLFOLDER -->
<DirectoryRef Id="INSTALLFOLDER">
<!-- Create a single component which is the App.WindowsService.exe file -->
<Component Id="ServiceExecutable" Bitness="always64">
<!-- Copies the App.WindowsService.exe file using the
project reference preprocessor variables -->
<File Id="App.WindowsService.exe"
Source="$(var.App.WindowsService.TargetDir)publish\App.WindowsService.exe"
KeyPath="true" />
<!-- Remove all files from the INSTALLFOLDER on uninstall -->
<RemoveFile Id="ALLFILES" Name="*.*" On="both" />
<!-- Tell WiX to install the Service -->
<ServiceInstall Id="ServiceInstaller"
Type="ownProcess"
Name="App.WindowsService"
DisplayName="$(Name)"
Description="A joke service that periodically logs nerdy humor."
Start="auto"
ErrorControl="normal" />
<!-- Tell WiX to start the Service -->
<ServiceControl Id="StartService"
Start="install"
Stop="both"
Remove="uninstall"
Name="App.WindowsService"
Wait="true" />
</Component>
</DirectoryRef>
<!-- Tell WiX to install the files -->
<Feature Id="Service" Title="App.WindowsService Setup" Level="1">
<ComponentRef Id="ServiceExecutable" />
</Feature>
</Package>
</Wix>
A projekt létrehozásakor a kimenet egy MSI-fájl, amely a szolgáltatás telepítéséhez és eltávolításához használható.
Teszttelepítés
A telepítő teszteléséhez tegye közzé az App.WindowsService projektet. Kattintson a jobb gombbal a projektre a Megoldáskezelőben, majd válassza a Közzététel lehetőséget. Miután közzétette az előző oktatóanyagban létrehozott profilt, a végrehajtható fájl a közzétételi könyvtárban lesz. Ezután létrehozza a telepítőprojektet, és futtatja a telepítőt.
A telepítést rendszergazdaként kell futtatnia. Ehhez kattintson a jobb gombbal az MSI-fájlra, majd válassza a Futtatás rendszergazdaként lehetőséget.
A szolgáltatás telepítése után megnyithatja a Services szolgáltatást, hogy láthassa a szolgáltatás futását. A szolgáltatás eltávolításához hívja meg a telepítőt a Windows Programok hozzáadása vagy törlése funkciójával.