Documentation
¶
Index ¶
Constants ¶
const ( AppIDWord = "MSWD2019" AppIDExcel = "XCEL2019" AppIDPowerPoint = "PPT32019" AppIDOutlook = "OPIM2019" AppIDOneNote = "ONMC2019" AppIDTeams = "TEAMS21" AppIDSkypeForBiz = "MSFB16" AppIDDefenderEP = "WDAV00" AppIDDefenderCons = "WDAVC00" AppIDDefenderShim = "WDAVS00" AppIDCompanyPortal = "IMCP01" AppIDAutoUpdate = "MSau04" AppIDWindowsApp = "MSRD10" AppIDCopilot = "MSCP10" AppIDQuickAssist = "MSQA01" AppIDRemoteHelp = "MSRH01" AppIDLicensing = "OLIC02" )
Application IDs used in the Microsoft Office CDN URL path. CDN URL format: {ChannelBaseURL}{ApplicationID}.xml
const ( BundleIDWord = "com.microsoft.word" BundleIDExcel = "com.microsoft.excel" BundleIDPowerPoint = "com.microsoft.powerpoint" BundleIDOutlook = "com.microsoft.outlook" BundleIDOneNote = "com.microsoft.onenote.mac" BundleIDTeams = "com.microsoft.teams2" BundleIDSkypeForBiz = "com.microsoft.skypeforbusiness" BundleIDDefenderEP = "com.microsoft.wdav" BundleIDDefenderCons = "com.microsoft.wdav.tray" BundleIDDefenderShim = "com.microsoft.wdav.epsext" BundleIDCompanyPortal = "com.microsoft.CompanyPortalMac" BundleIDAutoUpdate = "com.microsoft.autoupdate2" BundleIDWindowsApp = "com.microsoft.rdc.macos" BundleIDCopilot = "com.microsoft.m365copilot" BundleIDQuickAssist = "com.microsoft.quickassist" BundleIDRemoteHelp = "com.microsoft.remotehelp" BundleIDLicensing = "com.microsoft.office.licensingV2.helper" )
Bundle ID constants for all standalone macOS Microsoft applications.
Variables ¶
var AllAppIDs = []string{ AppIDWord, AppIDExcel, AppIDPowerPoint, AppIDOutlook, AppIDOneNote, AppIDTeams, AppIDSkypeForBiz, AppIDDefenderEP, AppIDDefenderCons, AppIDDefenderShim, AppIDCompanyPortal, AppIDAutoUpdate, AppIDWindowsApp, AppIDCopilot, AppIDQuickAssist, AppIDRemoteHelp, AppIDLicensing, }
AllAppIDs is the ordered list of all production standalone application IDs.
var AppIDBundleMap = map[string]string{ AppIDWord: BundleIDWord, AppIDExcel: BundleIDExcel, AppIDPowerPoint: BundleIDPowerPoint, AppIDOutlook: BundleIDOutlook, AppIDOneNote: BundleIDOneNote, AppIDTeams: BundleIDTeams, AppIDSkypeForBiz: BundleIDSkypeForBiz, AppIDDefenderEP: BundleIDDefenderEP, AppIDDefenderCons: BundleIDDefenderCons, AppIDDefenderShim: BundleIDDefenderShim, AppIDCompanyPortal: BundleIDCompanyPortal, AppIDAutoUpdate: BundleIDAutoUpdate, AppIDWindowsApp: BundleIDWindowsApp, AppIDCopilot: BundleIDCopilot, AppIDQuickAssist: BundleIDQuickAssist, AppIDRemoteHelp: BundleIDRemoteHelp, AppIDLicensing: BundleIDLicensing, }
AppIDBundleMap maps application ID to its primary macOS bundle identifier.
var AppNames = map[string]string{ AppIDWord: "Microsoft Word", AppIDExcel: "Microsoft Excel", AppIDPowerPoint: "Microsoft PowerPoint", AppIDOutlook: "Microsoft Outlook", AppIDOneNote: "Microsoft OneNote", AppIDTeams: "Microsoft Teams", AppIDSkypeForBiz: "Skype for Business", AppIDDefenderEP: "Microsoft Defender (Endpoint)", AppIDDefenderCons: "Microsoft Defender (Consumer)", AppIDDefenderShim: "Microsoft Defender (Shim)", AppIDCompanyPortal: "Intune Company Portal", AppIDAutoUpdate: "Microsoft AutoUpdate", AppIDWindowsApp: "Windows App", AppIDCopilot: "Microsoft 365 Copilot", AppIDQuickAssist: "Quick Assist", AppIDRemoteHelp: "Remote Help", AppIDLicensing: "Licensing Helper Tool", }
Human-readable display names for each application ID.
Functions ¶
This section is empty.
Types ¶
type Package ¶
type Package struct {
// ApplicationID is the Microsoft CDN application identifier (e.g. "MSWD2019").
ApplicationID string
// Title is the human-readable application name from the plist (e.g. "Microsoft Word").
Title string
// ShortVersion is the user-facing version string (e.g. "16.108.1").
ShortVersion string
// FullVersion is the build version string (e.g. "16.108.26041915").
FullVersion string
// MinimumOS is the minimum macOS version required (e.g. "14.0").
MinimumOS string
// UpdateVersion is the full update version as returned by the CDN.
UpdateVersion string
// Location is the download URL for the full installer package.
Location string
// AppOnlyLocation is the download URL for the app-only delta update (may be empty).
AppOnlyLocation string
// Hash is the base64-encoded SHA-1 hash of the full installer.
Hash string
// HashSHA256 is the base64-encoded SHA-256 hash of the full installer.
HashSHA256 string
// AppOnlyHash is the SHA-1 hash of the app-only update (may be empty).
AppOnlyHash string
// AppOnlyHashSHA256 is the SHA-256 hash of the app-only update (may be empty).
AppOnlyHashSHA256 string
// Date is the release date string as provided by the CDN.
Date string
}
Package represents a single Microsoft application update entry. Fields map to the Apple plist dict keys returned by the Microsoft CDN XML.
type StandaloneResponse ¶
type StandaloneResponse struct {
// Packages contains one entry per application ID fetched from the CDN.
Packages []*Package
}
StandaloneResponse holds all packages fetched across one CDN channel.
type StandaloneService ¶
type StandaloneService struct {
// contains filtered or unexported fields
}
StandaloneService fetches macOS standalone application metadata from the Microsoft Office CDN production channel.
The CDN hosts per-application Apple plist XML files at:
https://officecdnmac.microsoft.com/pr/{channelUUID}/MacAutoupdate/{AppID}.xml
Each plist contains version, download URL, minimum OS, and checksum data.
func NewService ¶
func NewService(c client.Client) *StandaloneService
NewService creates a new StandaloneService targeting the production CDN channel.
func (*StandaloneService) GetLatestV1 ¶
func (s *StandaloneService) GetLatestV1(ctx context.Context) (*StandaloneResponse, error)
GetLatestV1 fetches the latest metadata for all known standalone applications from the Microsoft Office CDN production channel. It returns one Package per application ID, collected from individual per-app plist XML endpoints.
GET https://officecdnmac.microsoft.com/pr/{channelUUID}/MacAutoupdate/{AppID}.xml
func (*StandaloneService) GetPackageByApplicationIDV1 ¶
func (s *StandaloneService) GetPackageByApplicationIDV1(ctx context.Context, appID string) (*Package, error)
GetPackageByApplicationIDV1 fetches the latest metadata for a single application identified by its Microsoft CDN application ID (e.g. "MSWD2019").
GET https://officecdnmac.microsoft.com/pr/{channelUUID}/MacAutoupdate/{AppID}.xml
func (*StandaloneService) GetPackageByNameV1 ¶
GetPackageByNameV1 fetches the latest metadata for the application with the given human-readable display name (e.g. "Microsoft Word"). The name lookup is performed against the AppNames map in constants.go.
Returns an error if no application with that name is found.