2013-02-25 7 views
7

У меня есть эта проблема: в разделах установщика У меня это;nsis uninstaller не удаляет ссылки

Section "Start Menu Shortcuts" 
    SetShellVarContext current 
    CreateDirectory "$SMPROGRAMS\myProgram" 
    CreateShortCut "$SMPROGRAMS\myProgram\myProgram.lnk" "$INSTDIR\myProgram.exe" 
    CreateShortCut "$SMPROGRAMS\myProgram\Uninstall myProgram.lnk" "$INSTDIR\myProgram-Uninstall.exe" 
SectionEnd 

Section "Desktop Shortcut" 
    SetShellVarContext current 
    CreateShortCut "$DESKTOP\myProgram.lnk" "$INSTDIR\myProgram.exe" 
SectionEnd 

и она отлично работает, у меня есть значок на рабочем столе и значок плюс значок удаления на старт \ программы ... дерево

раздел деинсталлятор, как это:

SetShellVarContext current 
Delete "$DESKTOP\myProgram.lnk" 
Delete "$SMPROGRAMS\myProgram\myProgram.lnk" 
Delete "$SMPROGRAMS\myProgram\Uninstall myProgram.lnk" 
RMDir "$SMPROGRAMS\myProgram" 

и ссылка на рабочий стол была удалена, но в другой папке со ссылками нет .. любые идеи?

папку, в которой хранится эта (я на Win 7 64 бит):

C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs 

ответ

7

У вас есть RequestExecutionLevel в сценарии? Без этого Windows может сделать некоторые compatibility hacks с вашими ярлыками.

Если это не помогает, попробуйте Process Monitor, это могло бы быть в состоянии пролить свет на вопрос ...

+0

Thankyou! Я добавил администратор RequestExecutionLevel и теперь работает ... также, если мой текущий пользователь является администратором .. спасибо – ghiboz

+2

Я не знаю, почему «RequestExecutionLevel admin» не работает для меня, но «SetShellVarContext all» делает ... – Sorayuki

+0

@Sorayuki Он должен помешать совместимости с ногами, но не удалит ярлыки совместимости, которые могут уже существовать ... – Anders

Смежные вопросы