自己解决了,实际上是UAC/权限问题。对于任何感兴趣的各方,这里是工作代码:
<CustomAction Id="ExecPortOpen" Directory="INSTALLFOLDER" Execute="commit" Impersonate="no" ExeCommand="cmd.exe /c "netsh http add urlacl url=http://+:1234/ user=Everyone"" Return="check" />
<InstallExecuteSequence>
<Custom Action="ExecPortOpen" After="InstallInitialize" />
</InstallExecuteSequence>