Which has worked perfectly fine on every other installer I've made (quite a few), but all of which were much smaller than 900 megs. So all I can think is that the large filesize is somehow causing NSIS to screw up and not create the icon correctly.
!define INSTALL_ICON "${NSISDIR}\Contrib\Graphics\Icons\win-install.ico"
[...]
!define MUI_ICON "${INSTALL_ICON}"
I suppose I could try using another program to set the icon, but that will change the file's checksum and presumably cause the installer to exit with an error message.