Acredito que o Windows Installer usa a variável de ambiente %TMP%
. Você pode querer verificar esse valor e ver se ele está apontando para a sua letra da unidade HD externa.
UPDATE
Estranho ... isso parece ser um "recurso" do Windows Installer (para usar a unidade com mais espaço livre). Não consigo encontrar uma opção para desativá-lo. Gostaria de saber se você pode bloquear o sistema por permissões / sinalizador somente leitura ou algo semelhante. Isso me incomoda que a Microsoft não lhe daria uma opção para desativá-lo.
2a ATUALIZAÇÃO
Ok - então eu achei este artigo sobre a propriedade ROOTDRIVE . De nota particular:
If ROOTDRIVE is not set at a command line or authored into the Property table, the installer sets this property. During an administrative installation the installer sets ROOTDRIVE to the first connected network drive it finds that can be written to. If it is not an administrative installation, or if the installer can find no network drives, the installer sets ROOTDRIVE to the local drive that can be written to having the most free space.