Você não pode fazer isso com um único programa, infelizmente. MAS, você pode fazer isso com um único pacote (grupo de arquivos, o msi no seu caso) usando vários programas. Usando essa abordagem, você não precisaria atualizar seus programas sempre que atualizasse o pacote. O pacote é apenas o grupo de arquivos (na maioria dos casos), os programas são os comandos que são realmente executados. Na sua situação, eu iria com essa abordagem:
1) Você pode criar dois programas de instalação separados e anunciá-los para as duas coleções diferentes. Lembre-se, estes não são pacotes separados, mas programas dentro de um único pacote. A única vez que você precisaria mudar os programas (o que na prática é bastante trivial) é quando o comando para instalar o pacote foi alterado. Portanto, se o pacote A for script.msi
, criaria dois programas para esse pacote,
Programa 1 cujo comando é msiexec /i script.msi /qb ALLUSERS=1
Programa 2 cujo comando é msiexec /i script.msi
Eu então coloco os dois programas em suas respectivas coleções. Se o pacote A precisar ser atualizado para uma nova versão de script.msi
, apenas certifique-se de manter o mesmo nome e, em seguida, atualize o ponto de distribuição com a versão mais recente. Você poderia, é claro, enviar uma nova implantação necessária para garantir que os clientes tenham a versão mais recente, mas não há necessidade de dois pacotes separados.