2009-09-06 16 views
19

Innosetupによるデスクトップショートカットを削除するにはどうすればよいですか?これは以前のバージョンで作成されており、もはや必要ではありません。私はInnosetupによるデスクトップショートカットの削除方法

DeleteFile(ExpandConstant('{userdesktop}\Shortcut Name')); 

CurStepChangedイベントハンドラの[InstallDelete]

[InstallDelete] 
Type: files; Name: {userdesktop}\Shortcut Name 

でそれを削除し、 "ssInstall" 内のファイルを削除しようとした。しかし、彼らは動作しません。どんな提案も感謝しています!

+0

*安全に、このメソッドを使用して、以前のバージョンからのすべての*古いアイコン:http://stackoverflow.com/a/ 22568945/32453 – rogerdpack

答えて

26

いずれのオプションも機能しますが、いくつかの考慮事項があります。

1)ショートカットが特定のユーザー用にインストールされたか、すべてのユーザー用にインストールされたかに応じて、{userdesktop}または{commondesktop}を使用する必要があります。

2)ショートカット名に.lnk拡張子を必ず追加する必要があります。

は、これはおそらく動作します:

DeleteFile(ExpandConstant('{userdesktop}\Shortcut Name.lnk')); 
DeleteFile(ExpandConstant('{commondesktop}\Shortcut Name.lnk')); 

または

[InstallDelete] 
Type: files; Name: "{userdesktop}\Shortcut Name.lnk" 
Type: files; Name: "{commondesktop}\Shortcut Name.lnk" 
あなたが削除することができます
+0

ああ、それは働いて、ありがとう! – trudger

+0

Altought名前: "{commondesktop} \ ...とのリンクをインストールしました。このファイルを削除するための上記の解決策は私にとってはうまくいかず、タイプ:ファイルに戻ってしまいました;名前:" C:\ Users \ Public \ Desktop \ My App.lnk "を回避してください。 – transistor

関連する問題