I have created an application that requires .NET 2.0. I added a setup project to check for and install the .NET framework 2.0 prior to the application. Since end users will most likely install the application on laptops on construction sites in the middle of nowhere, I set the framework setup source to "same as application setup", which is a removable device (CD, USB, whatever).
The setup.exe indeed installs the .NET framework. I can see it in "Add/Remove programs" and .NET applications work like they should.
As I can see in "Add/Remove programs", a german language pack is being installed as well (I live and work in germany). My customer wants to distribute the software all over the world and therefore does not want a german language pack to be installed everywhere. He prefers a culture-neutral installation, but english would be OK.
Simply deleting "langpack.exe" from .NET's installation package prior to the installation breaks the installation package ("Error: File not found").
Replacing "langpack.exe" with a dummy executable results in some verification error:"langpack.exe has changed since it was initially published". Obviously langpack.exe has to be signed. Otherwise WinVerifyTrust returns -2146762496 (taken from the setup log).
How can I stop the .NET setup from installing the german language pack?