Isto foi confirmado pela Microsoft como um problema, mas aparentemente não será resolvido. A única solução é remover / SWAPRUN: NET.
Eu tenho executáveis bastante grandes (cerca de 25-35 MB). Porque eu quero meu usuários executarem facilmente meu aplicativo, eu não quero que eles instalem um monte de DLL's, apenas xcopy-install é OK para mim (e meus clientes). Porque o meu software é frequentemente executado a partir de uma unidade de rede, e meu as redes dos clientes nem sempre são confiáveis, eu vinculo meus executáveis usando a opção / SWAPRUN: NET. Isso garante que o EXE inteiro seja carregado na memória antes do aplicativo ser iniciado e evita falhas se a conexão de rede for interrompida enquanto meu aplicativo estiver em execução.
Isso funcionou bem até agora, MAS ... no Windows Vista, se uma rede pasta tem muitos executáveis (10, 50, 100, ...) e depois abre esta pasta no Windows Explorer leva muito tempo (minutos!). Especialmente, a visualização dos ícones dos executáveis exige muito Tempo. Este problema não apareceu no Windows XP.
Hoje, descobri que o problema é causado pelo / SWAPRUN: NET opção. Se eu remover essa opção de vinculador (ou desabilitar esse sinalizador com EDITBIN), que o Windows Vista Explorer imediatamente mostra todos os ícones. Desabilitar esse sinalizador não é realmente uma opção (veja os motivos acima).
Existe outra maneira de dizer ao Vista que ele não deve carregar o completar o arquivo executável se ele precisar mostrar apenas o ícone (ou outro informações de versão) no explorador?