@@ -119,7 +119,10 @@ export async function unregisterAddIn(addinId: string, manifestPath: string): Pr
119119
120120 if ( registeredFileName === manifestFileName || registeredFileName . startsWith ( addinId ) ) {
121121 if ( ! registeredFileName . endsWith ( ".xml" ) ) {
122- uninstallWithTeams ( registeredFileName . substring ( registeredFileName . indexOf ( "." ) + 1 ) ) ;
122+ // Try manifest id first, fall back to titleId from filename
123+ const titleIdFromFilename = registeredFileName . substring ( registeredFileName . indexOf ( "." ) + 1 ) ;
124+ const idToUninstall = addinId || titleIdFromFilename ;
125+ uninstallWithTeams ( idToUninstall ) ;
123126 // TODO: Add support for refreshing add-ins in Outlook via registry key
124127 }
125128 fs . unlinkSync ( registeredAddIn . manifestPath ) ;
@@ -133,7 +136,10 @@ export async function unregisterAllAddIns(): Promise<void> {
133136 for ( const registeredAddIn of registeredAddIns ) {
134137 const registeredFileName = path . basename ( registeredAddIn . manifestPath ) ;
135138 if ( ! registeredFileName . endsWith ( ".xml" ) ) {
136- uninstallWithTeams ( registeredFileName . substring ( registeredFileName . indexOf ( "." ) + 1 ) ) ;
139+ // Try manifest id first, fall back to titleId from filename
140+ const titleIdFromFilename = registeredFileName . substring ( registeredFileName . indexOf ( "." ) + 1 ) ;
141+ const idToUninstall = registeredAddIn . id || titleIdFromFilename ;
142+ uninstallWithTeams ( idToUninstall ) ;
137143 // TODO: Add support for refreshing add-ins in Outlook via registry key
138144 }
139145 fs . unlinkSync ( registeredAddIn . manifestPath ) ;
0 commit comments