Atalho antigo Não É Removido do Menu Iniciar Atualização do Produto quando utilizar o Windows Server 2012
-
21-12-2019 - |
Pergunta
Quando o nosso produto de atualizações no Windows Server 2012 máquina, o atalho antigo é deixado para trás no menu Iniciar.O executável é removido do sistema, mas o atalho antigo permanece o que faz com que um erro quando um usuário clica nele, pois não está mais no sistema.
Isso não acontece no windows 2008 R2, e eu não acho que há um problema com a forma como o nosso msi é construído.Eu estou fazendo a pergunta aqui para ver se outras pessoas tiveram o mesmo problema.
No caso, pode ajudar, estamos construindo a msi com o WiX e aqui está o trecho de código:
<DirectoryRef Id="The_ShortCut">
<Component Id="The_ShortCut" Guid="{our-guid}">
<Shortcut Id="TheShortCut.exe"
Name="Config Wizard"
Description="$(var.ProductNameLong)"
Target="[ShortCutFolder]OurCompany.Product.TheShortCut.exe"
WorkingDirectory="ShortCutFolder"
Icon="TheShortcutIcon.Ico">
<Icon Id="TheShortcutIcon.Ico" SourceFile="oursourcepath"/>
</Shortcut>
<RegistryValue Root="HKCU" Key="Software\OurCompany\OurProduct" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
<RemoveFolder Id="Remove_Product" Directory="OurCompany" On="uninstall"/>
<RemoveFolder Id="Remove_Product_ShortCut" Directory="OurProduct_ShortCut" On="uninstall"/>
</Component>
</DirectoryRef>
Solução
Eu tenho essa resposta satisfatória a partir de uma colega de trabalho:
Isso não se parece com um problema com o seu próprio pacote.O item fixado é apenas uma referência para o *.lnk arquivo na localização que você tinha quando você o prendeu.Se você clique com o botão direito telha quebrada após a atualização e vá para o local do arquivo, ele leva você a antiga pasta de atalho (que não existe mais, desde o caminho da pasta foi alterado).
Tudo parece que o comportamento esperado.Julgando a partir de esta thread, Eu não tenho certeza se há uma forma de atualizar o item fixado através de programação, quer.
Saúde!