2010-11-25 14 views
2

のアンインストール時にショートカットを削除しません。Wixはアンインストール時にWixショートカットが削除されない何らかの理由で、VS 2008

これは私のコードです:

<Directory Id="ProgramFilesFolder"> 
    <Directory Id="INSTALLDIR" Name="App"> 

     <Component Id="AppExecutable" DiskId="1" Guid="12854481-BE33-4733-8B46-FDB424057C9A"> 
     <File Id="App1ExecutableFile" Source="$(var.RESOURCEDIR)\App.exe" KeyPath="yes"> 
     </File> 
     </Component> 

    </Directory> 
    </Directory> 

    <Directory Id="ProgramMenuFolder" Name="PMFiles"> 
    <Directory Id="AppShortcutDirectory" Name="App for OS"> 

     <Component Id="App1Shortcuts" DiskId="1" Guid=""> 
     <RegistryValue Root="HKCU" Key="[ApplicationRegistryPath]\MsiInstaller\GuestShortcutsAreInstalled" Type="string" Value="" KeyPath="yes" /> 

     <Shortcut Id="App1ExecutableShortcut" Directory="AppShortcutDirectory" 
        Target="[#App1ExecutableFile]" Name="App" 
        WorkingDirectory="INSTALLDIR" Description="Run the App" Advertise="no" /> 

     <RemoveFolder Id="DelteShortcutFolder1" Directory="AppShortcutDirectory" On="uninstall" /> 

     </Component> 
    </Directory> 
    </Directory> 

感謝!

答えて

3

ショートカットが存在するコンポーネントのGUIDは空文字列です。それは に 管理されていないコンポーネントを指定するには、空の文字列を値を設定することも可能です

:それについて何documentation saysを見てみましょう。アンマネージ コンポーネントはは(それは本質的に unpatchable、永久的な構成要素である)を除去または Windowsインストーラによって修復することができないため、セキュリティコンポーネント 脆弱性です。

したがって、有効なGUIDを入力するか、これを修正するために「*」だけを入力してください。

+0

はい、動作しますが、何らかの理由で「*」が機能しませんでした。 – Ezequiel

+0

Hmm、strange ... docsによる "生成可能なguidは、コンポーネントのキーパスとして1つのファイルを持つコンポーネント、またはキーパスとしてのファイルとレジストリ値としてサポートされていないコンポーネントに対してのみサポートされています。しかし、あなたのコンポーネントはこの制限に収まるようです... –

+0

これは、miコードの簡略化されたバージョンです。私の実際のコードはその制限に適合しません。ありがとう!!! – Ezequiel

関連する問題