2010-05-12 33 views
9

estoy en Windows 7 que trabaja en la combinación de dos aplicaciones con el mismo icono de la barra de tareas, como se describe en esta pregunta:¿Cómo configuro AppUserModelID en el acceso directo?

Pinning advertised shortcuts on the taskbar in windows 7

veo allí, y una gran cantidad de documentación en línea que necesito para establecer AppUserModelID como una propiedad del acceso directo. Mi programa de instalación usa el proyecto básico de instalación de Visual Studio 2008, y no veo ninguna forma de establecer las propiedades de acceso directo en la instalación. ¿Hay alguna ventaja que alguien pueda darme sobre cómo hacer esto?

+0

¿Algún progreso en esto? Estoy teniendo el mismo problema en un proyecto VS2010 – Twelve47

Respuesta

2

No sé nada sobre los proyectos de configuración de VS2k8, así que no sé si puede ejecutar acciones personalizadas, etc. pero sé que para configurar el AppId en un acceso directo, carga/crea su acceso directo y consulta IShellLink para IPropertyStore, entonces InitPropVariantFromString una variante con su ID y llamar FijarValor (PKEY_AppUserModel_ID, PROPVARIANT) + Comprometerse en la PropertyStore

1

Agregando a la respuesta de Ander.

El proyecto de instalación de Visual Studio no admite el ajuste de la aplicación y probablemente nunca lo haga a menos que Microsoft reversa the deprecation of Setup project feature.

There is a Windows API Code Pack that helps in invoking shell APIs. Here es un tutorial sobre cómo crear atajos en acciones personalizadas. Puede agregar el código para actualizar el acceso directo a la acción personalizada.

También puede cambiar a otras herramientas de creación de MSI que admiten la configuración de la aplicación para accesos directos, como WIX o NSIS.

+3

Por cierto, emoacht tiene una gran publicación de blog que describe cómo crear un acceso directo con un AppUserModelID asociado en C# (http://emoacht.wordpress.com/2012/11/14/csharp-appusermodelid /) –

7

Sheng comentó que "También puede cambiar a otras herramientas de autor MSI que admiten la configuración de la aplicación para accesos directos, como WIX o NSIS".

Para lograr esto usando un elemento de acceso directo en Wix, debe agregar un elemento de propiedad de acceso directo secundario a su elemento de acceso directo y usar el nombre de propiedad de shell "System.AppUserModel.ID" como la clave.

<Shortcut Id="StartMenuShortcut" 
       Name="Shortcut Name" 
       Description="Shortcut Description" 
       Target="[INSTALLLOCATION]Application.exe" 
       WorkingDirectory="INSTALLLOCATION"> 
     <ShortcutProperty Key="System.AppUserModel.ID" Value="AppUserModelID" /> 
    </Shortcut> 
+1

Se conocen problemas al establecer explícitamente ShortcutProperty/Key en "System.AppUserModel.ID" - http://support.microsoft.com/en-us/kb/2745126. Parece que Microsoft recomienda que se use GUID + PropertyID en su lugar. "System.AppUserModel.ID" = "{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 5" (desde - https://msdn.microsoft.com/en-us/library/windows/desktop/dd391569%28v= vs.85% 29.aspx) – jbudreau

Cuestiones relacionadas