Using Web Platform Installer behind a non-transparent proxy

[Unfortunately] we have a non-transparent proxy set up at work. Putting discussions about that aside, we’ve recently been looking at automating the provisioning of our infrastructure with Chef. When installing IIS using the community cookbook, which relies on Microsoft’s Web Platform Installer (WebPI), the proxy causes the following error:

InternetOpenUrl returned 0x80072EFD: Unknown error 12029.

After reading around many blogs including this one, I found a fix for the issue by updating the WebpiCmd.exe.config (which is located under C:\Program Files\Microsoft\Web Platform Installer or similar) to add the following inside the configuration element:

<system.net>
  <defaultProxy>
    <proxy proxyaddress="http://proxyserver:port" bypassonlocal="true" />
  </defaultProxy>
</system.net>

There’s the potential there for further configuration (e.g. for authentication perhaps) with other items available under the system.net element. If using the UI, you may need to update WebPlatformInstaller.exe.config as well.

This seemed at the time to be the “best” solution, since it made the configuration explicit, but considering how much time it eventually took (having updated the Chef cookbook to insert this configuration in), it may be worth pursuing other options of setting the proxy in the registry, for example.