2010-05-12 17 views
9

Ich bin auf die Kombination von zwei Anwendungen mit der gleichen Taskleiste Symbol in Windows 7 arbeiten, wie sie in dieser Frage beschrieben:Wie setze ich AppUserModelID auf Verknüpfung?

Pinning advertised shortcuts on the taskbar in windows 7

ich dort zu sehen, und es viele Online-Dokumentation, die ich festlegen müssen die AppUserModelID als eine Eigenschaft der Verknüpfung. Mein Installationsprogramm verwendet das grundlegende Visual Studio 2008-Setup-Projekt und ich sehe keine Möglichkeit zum Festlegen von Verknüpfungseigenschaften bei der Installation. Gibt es einen Vorsprung, den mir jemand geben kann?

+0

Irgendwelche Fortschritte dabei? Ich habe das gleiche Problem auf einem VS2010-Projekt – Twelve47

Antwort

2

Ich weiß nichts über VS2k8-Setup-Projekte, also weiß ich nicht, ob Sie benutzerdefinierte Aktionen usw. ausführen können, aber ich weiß, dass zum Laden der AppId auf eine Verknüpfung laden Sie Ihre Verknüpfung und Abfrage IShellLink für IPropertyStore, dann InitPropVariantFromString eine Variante mit Ihrer ID und Aufruf SetValue (PKEY_AppUserModel_ID, propvariant) + Commit für den PropertyStore

1

Hinzufügen zu Anders Antwort.

Visual Studio-Setup-Projekt unterstützt nicht Einstellung von appid und wird wahrscheinlich nie sein, es sei denn Microsoft umgekehrt the deprecation of Setup project feature.

There is a Windows API Code Pack that helps in invoking shell APIs. Here ist ein Lernprogramm zum Erstellen von Verknüpfungen in benutzerdefinierten Aktionen. Sie können den Code hinzufügen, um die Verknüpfung zu der benutzerdefinierten Aktion zu aktualisieren.

Sie können auch zu anderen MSI-Authoring-Tools wechseln, die das Festlegen der Appid für Verknüpfungen wie WIX oder NSIS unterstützen.

+3

Übrigens hat emoacht einen tollen Blog-Eintrag, der beschreibt, wie Sie eine Verknüpfung mit einer zugeordneten AppUserModelID in C# erstellen (http://emoacht.wordpress.com/2012/11/14)/csharp-appusermodelid /) –

7

Sheng kommentierte, dass "Sie auch zu anderen MSI-Authoring-Tools wechseln können, die das Festlegen der Appid für Verknüpfungen wie WIX oder NSIS unterstützen."

Um dies mithilfe eines Shortcut-Elements in Wix zu erreichen, müssen Sie Ihrem Shortcut-Element ein untergeordnetes ShortcutProperty-Element hinzufügen und den Shell-Eigenschaftsnamen "System.AppUserModel.ID" als Schlüssel verwenden.

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

Es gibt bekannte Probleme beim expliziten Festlegen des ShortcutProperty/Key auf "System.AppUserModel.ID" - http://support.microsoft.com/en-us/kb/2745126. Es sieht so aus, als ob Microsoft empfiehlt, die GUID + -EigenschaftID stattdessen zu verwenden. "System.AppUserModel.ID" = "{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 5" (von - https://msdn.microsoft.com/en-us/library/windows/desktop/dd391569%28v= vs.85% 29.aspx) – jbudreau

Verwandte Themen