Некоторые вопросы приходят на ум. Есть ли у вас аналогичная машина для сборки, с которой можно тестировать - это может помочь определить, является ли это сборкой / интеграцией с программой или возможной проблемой с его сборкой (например, проблема с Windows / вирус / и т. Д.).
Установил ли он в папку по умолчанию или сделал индивидуальную установку?
Он пытался полностью удалить / переустановить ваше приложение? (Замечу, вы сказали, что среда выполнения обновлена) - возможно, в другую папку, чтобы убедиться.
Можете ли вы воссоздать аналогичную сборку (версия ОС) с установленной VS для выполнения пошагового кода в отладчике - трассировка стека и выходной буфер могут помочь идентифицировать - как и дизассемблирование - и могут настроить его на остановку во всех исключениях?
К сожалению, необработанные исключения не всегда могут быть перехвачены в C # (особенно после версии 2.0), поэтому отладчик WinDBG может оказаться единственным вариантом в конце (юк!).
Могу я сначала кое-что предложить ... Просто мысль:
Перед ошибкой строки в качестве теста выведите что-то вроде этого:
var obj = resources.GetObject("HorizontalBox.Image");
Console.WriteLine("Obj = " + (obj is Bitmap));
Поскольку у меня возникает ощущение, что сбой происходит при попытке перенаправить ресурс в тип растрового изображения и получить исключение из памяти (возможно, что-то повреждено из-за шага изображения / формата пикселей и т. Д. Или, возможно, что-то на компьютере-виновнике делает файл изображения выглядит как не файл изображения).