This message was deleted.
# _general
s
This message was deleted.
a
Interestingly, if you take a look at
"C:\Program Files (x86)\Microsoft\TeamsPresenceAddin\presence-addin-install-logs.txt"
, you can see this in the log where it appears to be registering the add-ins in HKCU instead of HKLM
Copy code
2023-11-17-09:33:40.964 AM Installing Teams Presence addin for Outlook...
2023-11-17-09:33:40.964 AM Copying C:\Program Files (x86)\Microsoft\Teams\current\resources\assets\tlb\Uc.tlb to C:\Program Files (x86)\Microsoft\TeamsPresenceAddin
2023-11-17-09:33:40.964 AM Copying C:\Program Files (x86)\Microsoft\Teams\current\resources\assets\tlb\Uc.win32.tlb to C:\Program Files (x86)\Microsoft\TeamsPresenceAddin
2023-11-17-09:33:40.964 AM check if UC TypeLib points to current\resources\assets\tlb\Uc.tlb
2023-11-17-09:33:40.964 AM Registering UC Typelib WIN32 under HKCU...
2023-11-17-09:33:41.073 AM UC Typelib WIN32 successfully registered to C:\Program Files (x86)\Microsoft\TeamsPresenceAddin\Uc.win32.tlb under HKCU!
2023-11-17-09:33:41.073 AM Registering UC Typelib WIN64 under HKCU...
2023-11-17-09:33:41.120 AM UC Typelib WIN64 successfully registered to C:\Program Files (x86)\Microsoft\TeamsPresenceAddin\Uc.tlb under HKCU!
2023-11-17-09:33:41.120 AM IM Provider registry key has been created!
r
I never seen that either and I’m interested as well on that. But @Nick Panaccio shared this with me year or so ago. For the outlook issues.
Copy code
$ErrorActionPreference = 'SilentlyContinue'

#We need to add the following items to allow Teams meeting links to open Teams and not have IE prompt to allow the action

If (!(Test-Path "HKCU:\Software\Microsoft\Internet Explorer\ProtocolExecute\msteams")) {

    New-Item "HKCU:\Software\Microsoft\Internet Explorer\ProtocolExecute\" -Name "msteams" -Force | Out-Null

}

New-ItemProperty "HKCU:\Software\Microsoft\Internet Explorer\ProtocolExecute\msteams\" -Name "WarnOnOpen" -Value 0 -PropertyType "DWORD" -Force | Out-Null

If (!(Test-Path "HKCU:\Software\Classes\msteams")) {

    New-Item "HKCU:\Software\Classes\msteams\shell\open\" -Name "command" -Force | Out-Null

}

New-ItemProperty "HKCU:\Software\Classes\msteams\" -Name "(Default)" -Value "URL:msteams" -PropertyType "String" -Force | Out-Null

New-ItemProperty "HKCU:\Software\Classes\msteams\" -Name "URL Protocol" -Value "" -PropertyType "String" -Force | Out-Null

New-ItemProperty "HKCU:\Software\Classes\msteams\shell\open\command\" -Name "(Default)" -Value """C:\Program Files (x86)\Microsoft\Teams\current\Teams.exe"" ""%1""" -PropertyType "String" -Force | Out-Null

If (!(Test-Path "HKCU:\Software\Classes\TeamsURL")) {

    New-Item "HKCU:\Software\Classes\TeamsURL\shell\open\" -Name "command" -Force | Out-Null

}

New-ItemProperty "HKCU:\Software\Classes\TeamsURL\shell\open\command\" -Name "(Default)" -Value """C:\Program Files (x86)\Microsoft\Teams\current\Teams.exe"" ""%1""" -PropertyType "String" -Force | Out-Null

#We need to add the following items to get the 'New Teams Meeting' button to appear in Outlook

New-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts\" -Name "msteams_msteams" -Value 0 -PropertyType "DWORD" -Force | Out-Null

New-Item "HKCU:\Software\Microsoft\Office\Outlook\AddIns\" -Name "TeamsAddin.FastConnect" -Force | Out-Null

New-ItemProperty "HKCU:\Software\Microsoft\Office\Outlook\AddIns\TeamsAddin.FastConnect\" -Name "Description" -Value "Microsoft Teams Meeting Add-in for Microsoft Office" -PropertyType "String" -Force | Out-Null

New-ItemProperty "HKCU:\Software\Microsoft\Office\Outlook\AddIns\TeamsAddin.FastConnect\" -Name "LoadBehavior" -Value 0x3 -PropertyType "DWORD" -Force | Out-Null

New-ItemProperty "HKCU:\Software\Microsoft\Office\Outlook\AddIns\TeamsAddin.FastConnect\" -Name "FriendlyName" -Value "Microsoft Teams Meeting Add-in for Microsoft Office" -PropertyType "String" -Force | Out-Null

#We need to add the following items to preconfigure Teams

If (!(Test-Path "$Env:AppData\Microsoft\Teams")) {

    New-Item "$Env:AppData\Microsoft\Teams\" -ItemType "Directory" -Force | Out-Null

}

Copy-Item -Path "$PSScriptRoot\desktop-config.json" -Destination "$Env:AppData\Microsoft\Teams" -Recurse -Force

If (!(Test-Path "HKCU:\Software\Classes\CLSID\{00425F68-FFC1-445F-8EDF-EF78B84BA1C7}")) {

    New-Item "HKCU:\Software\Classes\CLSID\{00425F68-FFC1-445F-8EDF-EF78B84BA1C7}\LocalServer\" -Force | Out-Null

}

New-ItemProperty "HKCU:\Software\Classes\CLSID\{00425F68-FFC1-445F-8EDF-EF78B84BA1C7}\LocalServer\" -Name "(Default)" -Value "C:\Program Files (x86)\Microsoft\Teams\current\Teams.exe" -Force | Out-Null

If (!(Test-Path "HKCU:\Software\Classes\WOW6432Node\CLSID\{00425F68-FFC1-445F-8EDF-EF78B84BA1C7}")) {

    New-Item "HKCU:\Software\Classes\WOW6432Node\CLSID\{00425F68-FFC1-445F-8EDF-EF78B84BA1C7}\LocalServer\" -Force | Out-Null

}

New-ItemProperty "HKCU:\Software\Classes\WOW6432Node\CLSID\{00425F68-FFC1-445F-8EDF-EF78B84BA1C7}\LocalServer\" -Name "(Default)" -Value "C:\Program Files (x86)\Microsoft\Teams\current\Teams.exe" -Force | Out-Null
k
@Henry Heres might know
n
That was my Teams config script. I know I dealt with presence issues, too. Trying to recall what the issue was. At one point, it was because Teams still required the Skype component to be included in the O365 installation.
I never had to go that route, personally.
r
2 years ago I was at a law firm, and they had teams opening up at login. Killing the CPU, so I talked them into not doing this. Then we noticed if Teams was not opened at startup, it would not load the outlook parts. That was when @Nick Panaccio came here to same my a$$ with his script. I used it for a while. But I have not touched it in a while myself. But from the link you posted, @Nick Panaccio, it seems like @Jonathan Pitre has it all in his github https://github.com/JonathanPitre/Apps/blob/master/Microsoft/Teams/Install.ps1
It's crazy the amount of time and work many of us spent on Teams in VDI. It's really crazy that this app take so much work to get right.
n
We're a Webex shop, and let me tell you, the grass isn't greener.
r
Yea, i believe that. I have used teams, Bluejeans, Webex, and zoom. Out of all these, the best was Zoom. Webex is second, Bluejeans thrids and Teams is last. Never did jabber or slack in VDI.
But since Zoom had the security issue a ways back, it hurt them.
n
BlueJeans over Teams? I'm going to send a healthcare professional to check on you immediately
r
hahah. man BlueJeans did work well over teams. I think you and I was exchanging discussions about it 2 years ago or so. Actually, I think we helped them in the VDI space, as others did not use it because they had no docs on it at that time.
But I been testing the heck out of the new Teams in VDI. it's lighter for sure. But to many unknowns for me at this time.
n
We did extensive testing on thin clients between all of the big players outside of Zoom, and Teams was the most consistent in terms of quality and actually working.
r
Nice man. What thin clients?
n
I still have that spreadsheet, too. Was not fun.
We were also testing monitors with webcams because the doctors wanted it. News flash, they were all shit.
Compared to external webcams, I mean.
r
That is super nice. I like that alot.
Dude, now why have you not applied for the CTA program? you are solid bro, and have some good knowledge. I am sure others share the same experience with you that I do.
WOW, that is some serious testing
n
Spent two weeks going through each scenario and testing outcomes.
r
Dedication right there man.
Sorry @Aaron Parker parker that we hijacked the thread man.
n
Yeah, sorry about that, Aaron
k
@Aaron Parker Install Skype for business and that should fix Presence issue for Outlook and Teams. I had a support case with Microsoft a while ago and the devs were aware of the issue but didn’t have plans to fix it.
s
Holy moly that was a journey. Was able to find the regtlibv12.exe by extracting .net 4.8 framework exe file, then running the msiexec /a command to extract the netfx_full_x64.msi...the regtlib12.exe is in one of the subfolders.
👍 1
guessing regtlib.exe would be an older .net version, maybe 4.6 or older? or coud be 32bit vs 64bit thing
r
Nice man
h
cc @Patrick van den Born
p
I've provisioned Windows 11 Multi Session on Azure. And regtlib.exe is standard in my OS. Maybe you can grab it from that OS? Or I can share it with you...
a
@Patrick van den Born Thanks. I’m using Windows 11 multi-session 22H2, and it’s not in mine. I do have access to a copy at the moment
@Kyle Wise yeah, but no. I’d prefer to avoid installing Skype for Business if I can.
@Patrick van den Born where on disk are you seeing it in your image?
p
It was in %windir%\System32 afaik. I'm logging in for you now
a
Thanks. Any chance you could check the version number too?
p
We're installing old software, maybe its included in one of our old software deployments
a
It could be. The date on the copy I have here is 1998…
Thanks for checking.
p
Hehe 2000
Sec I will grab it and share it with you
send me a DM with you mail adress, than I can create a OneDrive link for you
a
I may have found a way to register a typelib via PowerShell. If that works, then we don’t need to run external executables
p
Nice! Can you share that with me. Curious what you've wrote
a
Ah, didn’t say I wrote it…, But yes, testing now and will post if this works
p
Nice! Will defenitly repost that. Thanks Aaron Parker
a
No luck so far - this code did not work, while REGTLIB.EXE did do the trick
Copy code
$Signature = @'
[DllImport("oleaut32.dll", CharSet=CharSet.Unicode, ExactSpelling=true, SetLastError=true)]
public static extern int LoadTypeLibEx(string fileName, uint regkind, out System.Runtime.InteropServices.ComTypes.ITypeLib typeLib);
'@
$Type = Add-Type -MemberDefinition $Signature -Name "Win32Utils" -Namespace "LoadTypeLibEx" -PassThru
$Paths = "${env:ProgramFiles(x86)}\Microsoft\TeamsPresenceAddin\Uc.tlb", "${env:ProgramFiles(x86)}\Microsoft\TeamsPresenceAddin\Uc.win32.tlb"
foreach ($Path in $Paths) {
    $TypeLib = $null
    $Type::LoadTypeLibEx($Path, 1, ([Ref]$TypeLib))
}
v
late to the party. that’s the version I got from MS. worked on Server 2022.
👍 1
a
Thanks