So yet again, I faced an annoying update related issue with Windows but this time it was Windows Store. It was throwing error code 0x80240007 for any app update. Previous encounter with Windows Updates and it’s solution was here.
It’s absolutely disgusting how Microsoft makes it extremely difficult to find out errors in their operating system. If someone from Microsoft is reading this, please give more helpful error messages! Such error codes and their numerous solutions online make it seem like for any error that occurs in Windows the solution is to reset and reinstall, WTF!
I wasn’t able to install any app from the store nor was it updating, and it was throwing the errors. I searched a bit about this, but didn’t get any useful solution. In event logs I had three error codes
0x80240007 0x80070002 0x80073CF0. The screenshots of Windows Event Log:
I had completely given up on this after numerous searches and trying out the solutions mentioned on those pages, to the extent I uninstalled all the store apps – the most significant ones for me being Skype, Whatsapp, Telegram; and actually I discovered this issue when I knew Telegram was updated but I was wondering why it wasn’t updating on my desktop.
Then today when updating my password manager KeepassXC the MSI installer gave me an error code
2203. Initially I thought the two were unrelated issues (store and MSI error) but you see in the event log it has complained about some msixvc. Then I discovered MSIs are installed using a command
msiexec, so I checked out it’s available options in which I found a
/log option which logs the installation messages / errors etc.
msiexec /log keepassxc.log /i KeepassXC.msi
In the log generated I found an interesting error:
Database: C:\Windows\Installer\inprogressinstallinfo.ipi. Cannot open database file. System error
A little bit of searching and some site mentioned it could be because the temporary files directory is not writable by the installer. But I had solved the temporary folder issue without which I wasn’t able to update at all, this got me thinking. In the environment variables I had set the system temp folder as
%windir%\Temp. Just as a fluke I changed it to
C:\Windows\Temp and after a reboot tried installing KeepassXC again. It worked! And all the store apps updated as well. Apparently
%windir% doesn’t expand to
C:\Windows when MSIs are installed?
So the lesson is, don’t tamper with the temp folder on Windows. This is not Linux where you can just do
mount -t tmpfs /tmp for performance and to save the SSD unwanted write cycles.