Я заставил 32-битный установщик запустить класс установки, метод был довольно простым, но я не понимаю причинно-следственную связь. Все, что я сделал, это удалил dll из gac (который был добавлен, когда я зарегистрировал его вручную):
"C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v10.0A \ Bin \ NETFX 4.6.1 Tools \ gacutil.exe" / u "extension.dll"
По какой-то причине, когда сборка была на gac, установщик не запустился. Я могу только догадываться, что предыдущая версия была там, так что мое исключение, выбрасываемое в установщик, никогда не применялось. Это означало бы, что класс установщика действительно был запущен, но не на dll, который я устанавливал в то время, а на том gac.