This is the companion app for the plugin. It acts as a proxy between the WinUI3 LampArray API and the rest of Artemis.
The application sets up a gRPC server and exposes the LampArray API via a named pipe.
The proto file is located in the Proto folder and can be used to create a client, which is the RGB.NET device provider.
For the app to be installed it must be packaged and signed.
A self-signed certificate is used and trusted by the plugin before installing the app.
- First package the application as an
.appxfile
dotnet build Artemis.DynamicLighting -c Release -p:Platform=x64 -p:GenerateAppxPackageOnBuild=true -p:AppxPackageSigningEnabled=false- Generate a certificate (in an elevated PowerShell prompt)
cd Artemis.DynamicLighting\AppPackages
$cert = New-SelfSignedCertificate -Type Custom -Subject "CN=Artemis RGB" -KeyUsage DigitalSignature -FriendlyName "Artemis RGB Certificate" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3", "2.5.29.19={text}"); $thumbprint = $cert.Thumbprint; $cert | Export-PfxCertificate -FilePath "ArtemisRGB.pfx" -Password (ConvertTo-SecureString -String "artemis-rgb" -Force -AsPlainText); Write-Host "Thumbprint: $thumbprint"Note down the thumbprint.
- Use the script to sign the package with the certificate
.\sign.ps1 -Password artemis-rgb-
Add the
.pfxand signed package to the plugin -
Update the certificate thumbprint in the plugin