2009-09-06 6 views
19

¿Cómo puedo eliminar un atajo de escritorio de Innosetup? Fue creado por la versión anterior y ya no es necesario. He intentado eliminar en [InstallDelete]Cómo quitar un atajo de escritorio por Innosetup

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

y borrar el archivo en "ssInstall" de CurStepChanged controlador de eventos

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

Pero ellos no trabajo. ¡Cualquier sugerencia es apreciada!

+0

* Puede eliminar todos los viejos iconos * desde versiones anteriores utilizando este método con seguridad: http://stackoverflow.com/a/ 22568945/32453 – rogerdpack

Respuesta

26

Cualquiera de las dos opciones funcionará, pero hay algunas consideraciones.

1) Deberá usar {userdesktop} o {commondesktop} dependiendo de si el acceso directo se instaló para un usuario específico o para todos los usuarios.

2) Deberá asegurarse de agregar la extensión .lnk al nombre del acceso directo.

lo que este será probablemente el trabajo:

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

o

[InstallDelete] 
Type: files; Name: "{userdesktop}\Shortcut Name.lnk" 
Type: files; Name: "{commondesktop}\Shortcut Name.lnk" 
+0

¡Ah, eso funcionó, muchas gracias! – trudger

+0

Altought Instalé el enlace con Nombre: "{commondesktop} \ ..., las soluciones anteriores para eliminarlo no funcionaron para mí y tuve que recurrir a Tipo: archivos; Nombre:" C: \ Users \ Public \ Desktop \ My App.lnk "como un trabajo alternativo. – transistor

Cuestiones relacionadas