Alexander Gromnitsky's Blog

MS Office .lnk files

Latest update:

I have a w10 vm with MS Office 2013. Usually when one installs such a 'suite', he uses it sporadically to view some nasty .xlsx/.docx files when LibreOffice miscarries. That is what I've been using Office '13 for, but getting interested in the history of PowerPoint lately, I appended PowerPoint to the existing MS Office installation, which suddenly brought a new shortcut to the Start Menu that I didn't expect: Skype for Business 2015.

A rational person would've ignore it, but me it inflamed: 'What is this business skype crap? I did not asked for it.' After invoking the .lnk 'properties' in Explorer I got this:

This is so great, it refuses to show me where this "skype" is. Why? Also, why is it an option in the OS to have such mystifying shortcuts? What purpose do they solve?

Next I tried to parse the .lnk file with powershell. It doesn't have a native facility to do so? I don't know, I'm not a Windows programmer. Google says I should employ WSH shite from Windows 98 days:

> $q = New-Object -ComObject WScript.Shell
> $q.CreateShortcut((ls "$env:ProgramData/Microsoft/Windows/Start*/*/*/Skype*")).TargetPath
C:\Windows\Installer\{90150000-0011-0000-1000-0000000FF1CE}\lyncicon.exe

Anyhow, C:\Windows\Installer? lyncicon.exe? WTF.

The similar nonsense goes for any other Start Menu shortcut for MS Office. E.g., for Excel:

> $q.CreateShortcut((ls "$env:ProgramData/Microsoft/Windows/Start*/*/*/Excel*"))
.TargetPath
C:\Windows\Installer\{90150000-0011-0000-1000-0000000FF1CE}\xlicons.exe

Google tells me that 'Lync' was a predecessor for MS Teams, & apparently it got installed alongside PowerPoint by (my?) mistake.

Turns out, C:\Windows\Installer\{90150000-0011-0000-1000-0000000FF1CE} directory have wrappers for all Office executables, even those that aren't installed.

I'm disappointed they have only 1 level of indirection. A proper way would be to have a bunch of wrappers in user's directory, a daemon that checks for their updates (say, if a Word icon gets an exciting new look, you should be able to enjoy it, even if you don't use MS Office!), than those wrappers should run a special link manager that would check for your beverage preference & show an ad for a local coffee place regardless, search the registry for 'is MS Office installed?' (open a cheerful 365 subscription web page, if negative), look for EXCEL.EXE, reinstall MS Teams in the background, ask 'Do you want to open Excel?', if true, send a confirmation code to your phone, complain that a special app on the phone that records how many times you've started Excel so far (& why), is very outdated, send another confirmation code after you updated that little app (display an error otherwise), & start Excel. This is how it should be done.


Tags: ойті
Authors: ag