Autodesk Icons fix

Once again, Autodesk has provided a new year’s worth of program updates, without addressing the icons. That’s five years running of basically the same icons year after year. It’s a real problem for those offices that maintain multiple years of a product, which is a lot of us.
Thankfully, there is a solution.

I and others have created new icons and stored them on the local machine, then revised shortcuts to point to those new icons. You can do this manually with a right click on the shortcut, then Properties, then Change Icon.

But this is a lot of effort to change the icon on every shortcut (Start Menu, Desktop, Taskbar, wherever else the user has placed shortcuts), and Dave Plumb posted a nifty trick to address the issue more gracefully. It seems Autodesk puts all the icons in specific folders in the %SystemRoot%/Installer folder, obfuscated with a GUID name. You can see this by copying the path to the icon file using the manual change mentioned above.

For Revit 2020 it’s
which expands to
when expanded on my Windows 10 machine.

All you need to do is replace this ICO file with the one you want (using the same name of course) and all your shortcuts will be correct.

So, armed with that info, the next thing we need is a better icon, something that looks different each year. The easy answer that Autodesk is too lazy to bother with is simply putting the two digit year in the icon. Thankfully a number of folks have done this and made their icon sets available. I use the Parallax Team icons from Aaron Maller, which include icons for all products from 2016 through 2020 in the current set.

If you are using my Pragmatic Praxis Px Tools the C:\Windows\Installer paths are included in the Resource files, and the 2020 recipes include the Copy task and tokens needed to automate this.

<Source>PATH TO… \reviticon_2020.ico</Source>

If you are rolling your own, you can use whatever programming language you like, with this as a PowerShell example (with PATH TO… replaced by your path of course).
Copy-Item -path:'PATH TO… \reviticon_2020.ico' -destination:'C:\Windows\Installer\{7346B4A0-2000-0510-0000-705C0D862004}\REVT.ico'

One thing to be aware of is the fact that (you KNEW this was coming) Autodesk will often overwrite these icons with updates. So all your effort to fix their broke ass flawed icons can be reversed on an Autodesk whim. To combat this, you will want to include your automation to replace the icons with updates as well as initial deployment install. For PxTools this is already covered, as the Copy tasks have no ID and process with every Conform.
If you are rolling your own you could have a link that runs your PowerShell/VBScript/BAT script and include it in the same folder as your updates, or include the automation code in whatever script handles the updates. If you are using Autodesk Desktop App to manage updates… well, you are screwed in one more way by that TURD (Totally Useless Redundant Downloader).

UPDATE: AutoCAD is “special”
One thing to be aware of is the fact that AutoCAD and it’s verticals will overwrite your revised icon at first launch. This is the same “bootstrapping” procedure that causes an AutoCAD shortcut to be placed on the All User desktop even if you set your deployment not to, and/or deleted it separately post Deployment. Somehow Autodesk manages to do this even if the user account is not a local admin, which to be honest is VERY virus like behavior. Autodesk is intentionally circumventing Windows security for purely marketing driven reasons.
I am gathering data on AutoCAD and all the verticals, as to exactly what triggers this First Launch behavior, so that it can be handled by other means and thus circumvent Autodesk’s poor behavior. In the meantime, if you are not already doing some form of pre-first launch end-around, this Icons trick will not currently work. With any luck I can post on the workaround within a few weeks!

I hope you find this little tidbit useful, and big thanks to Dave (DaveP on RFO, @DavePMN on Twitter) and Aaron (Twiceroadsfool on RFO, @PrlxTeam on Twitter) for making this all possible.