This pull request adds Windows support for managing PhpStorm as a maintained app, including installation and uninstallation automation, and improves the ingestion logic to handle publisher information for better normalization. The most important changes are: **Windows support for PhpStorm:** * Added a new maintained app definition for PhpStorm on Windows, including metadata and references to install/uninstall scripts (`phpstorm.json`). * Implemented a PowerShell install script for PhpStorm that runs the NSIS installer silently (`phpstorm_install.ps1`). * Implemented a PowerShell uninstall script that finds the correct PhpStorm uninstaller via registry, ensures it's the JetBrains version, and runs it silently (`phpstorm_uninstall.ps1`). * Added PhpStorm for Windows to the `apps.json` output and created a versioned output file with install/uninstall logic and metadata (`apps.json`, `phpstorm/windows.json`). [[1]](diffhunk://#diff-4c1446cfc02c6bb0bda874481e333c65b84e184fcea52f656b49a6489f73c9c2R1404-R1410) [[2]](diffhunk://#diff-0286e1ea4f71a5a6d429728675f1b3d8eb8bb14241c86c1ce7697e454b9cbe4dR1-R22) **Improvements to ingestion logic:** * Updated the app existence check in `windows.go` to select and propagate the `publisher` field, and set the `Vendor` on ingested software, ensuring publisher-based normalization (important for JetBrains build-number handling). [[1]](diffhunk://#diff-a0970c0b97aa9bac9f771a8ecb164afea2bc7245206844f6e32aa5b69d964f4aL55-R55) [[2]](diffhunk://#diff-a0970c0b97aa9bac9f771a8ecb164afea2bc7245206844f6e32aa5b69d964f4aR74) [[3]](diffhunk://#diff-a0970c0b97aa9bac9f771a8ecb164afea2bc7245206844f6e32aa5b69d964f4aR84-R91) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added support for PhpStorm on Windows, including automated installation and removal capabilities. * Enhanced Windows application detection to retrieve publisher information for improved vendor identification. <!-- review_stack_entry_start --> [](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46217?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
27 lines
503 B
PowerShell
27 lines
503 B
PowerShell
# Learn more about .exe install scripts:
|
|
# http://fleetdm.com/learn-more-about/exe-install-scripts
|
|
#
|
|
# PhpStorm ships as a Nullsoft (NSIS) installer; /S runs it silently.
|
|
|
|
$exeFilePath = "${env:INSTALLER_PATH}"
|
|
|
|
try {
|
|
|
|
$processOptions = @{
|
|
FilePath = "$exeFilePath"
|
|
ArgumentList = "/S"
|
|
PassThru = $true
|
|
Wait = $true
|
|
}
|
|
|
|
$process = Start-Process @processOptions
|
|
$exitCode = $process.ExitCode
|
|
|
|
Write-Host "Install exit code: $exitCode"
|
|
Exit $exitCode
|
|
|
|
} catch {
|
|
Write-Host "Error: $_"
|
|
Exit 1
|
|
}
|