2017-02-09 5 views
0

나는 WiX 사용 경험이 없으며 MSP를 통해 업데이트하는 동안 바로 가기 이름을 바꿀 때 문제가 있습니다. 내 이전 MSI에서 나는 내가 내 업그레이드가 새로운 바탕 화면입니다 실행할 때 내가 무엇을 얻을 같은WIX - MSP의 바로 가기 이름 바꾸기

<DirectoryRef Id="TARGETDIR"> 
    <Directory Id="DesktopFolder" Name="Desktop"> 
    <Component Id="MyShortcut" Guid="38EF1A86-5D1B-4D78-AD66-DD1AA6635A9B" Win64="$(var.Variables_Win64)" MultiInstance="no"> 
    <Shortcut Id="MyShortcut" 
        Directory="DesktopFolder" 
        Icon="MyIcon" 
        Name="My New Application" 
        Description="Runs my new application" 
        Target="[URL]" /> 
     <RemoveFolder Id='DesktopFolder' On='uninstall'/> 
    </Component> 
    </Directory> 
</DirectoryRef> 

로 schortcut의 이름을 바꾸려면 내 MSP에서 다음

<DirectoryRef Id="TARGETDIR"> 
    <Directory Id="DesktopFolder" Name="Desktop"> 
    <Component Id="MyShortcut" Guid="38EF1A86-5D1B-4D78-AD66-DD1AA6635A9B" Win64="$(var.Variables_Win64)" MultiInstance="no"> 
    <Shortcut Id="MyShortcut" 
        Directory="DesktopFolder" 
        Icon="MyIcon" 
        Name="My Application" 
        Description="Runs my application" 
        Target="[URL]" /> 
     <RemoveFolder Id='DesktopFolder' On='uninstall'/> 
    </Component> 
    </Directory> 
</DirectoryRef> 

를 사용하여 바탕 화면 바로 가기를 만들었습니다 바로 가기 및 분리 된 이전 바로 가기가 포함됩니다. 나는이 게시물 why two shortcuts after Major upgrade (migration)?에서 이런 일이 일어나는 이유를 이해하지만이 동작을 해결하고 원본 바로 가기 이름을 업데이트하거나 고아 하나를 대신 삭제할 수 있는지 잘 모르겠습니다. MSI를 구축 할 수 없기 때문에 MSP가되어야하므로 조언을받을 수 있습니다.

이 솔루션은 RemoveFile에 있지만 바로 가기 확장을 포함한 전체 이름을 추가 할 것으로 보인다

답변

0

;-) 사전에 감사합니다. 게시하기 전에이 방법을 처음 시도했지만 이름에 .lnk가 지정되지 않았으므로 작동하지 않았습니다.

<DirectoryRef Id="TARGETDIR"> 
    <Directory Id="DesktopFolder" Name="Desktop"> 
    <Component Id="MyShortcut" Guid="38EF1A86-5D1B-4D78-AD66-DD1AA6635A9B" 
       Win64="$(var.Variables_Win64)" MultiInstance="no"> 
    <Shortcut Id="MyShortcut" 
        Directory="DesktopFolder" 
        Icon="MyIcon" 
        Name="My New Application" 
        Description="Runs my new application" 
        Target="[URL]" /> 
     <RemoveFolder Id='DesktopFolder' On='uninstall'/> 
     <RemoveFile Id='LegacyShortcut ' Name='My Application.lnk' On='install'/> 
    </Component> 
    </Directory> 
</DirectoryRef>