Hey man!
I know i'm a bit late and You've either solved it or given up by this time.
I've just had a similar/same ssue with my install: Anno 1404 ran fine, but Venice just gave me a white screen instead of the Ubisoft logo and wouldn't budge.
The way to fix this, is by editing the Engine.ini file in the %AppData%\Ubisoft\Anno1404Addon\Config directory, and adding the
<DirectXVersion>9</DirectXVersion> line to it.
The original file content:
<InitFile>
<LanguageTAG>eng</LanguageTAG>
<UbiSurveyTime>36000000</UbiSurveyTime>
<UbiSurveyTimeStatus>1</UbiSurveyTimeStatus>
</InitFile>
Modified file:
<InitFile>
<DirectXVersion>9</DirectXVersion>
<LanguageTAG>eng</LanguageTAG>
<UbiSurveyTime>36000000</UbiSurveyTime>
<UbiSurveyTimeStatus>1</UbiSurveyTimeStatus>
</InitFile>
Hope this helps You to. ;)
[edit:] Oh yeah, once the game starts up properly and generates the rest of the engine.ini's variables, the DirectXVersion value can be changed to 0 to utilize DX10 instead of DX9.
Post edited March 10, 2019 by Arteveld