2010-05-12 1 views
9

나는 같은 작업 표시 줄 아이콘이 응용 프로그램을 결합하는 작업을 윈도우 7에있어 ​​: ​​바로 가기에 AppUserModelID를 어떻게 설정합니까? 이 질문에 설명 된대로

Pinning advertised shortcuts on the taskbar in windows 7

내가 거기보고, 내가 설정해야합니다 온라인 설명서의 그 많은 AppUserModelID는 바로 가기의 속성입니다. 내 설치 프로그램은 기본 Visual Studio 2008 설치 프로젝트를 사용하며 설치시 바로 가기 속성을 설정할 방법이 없습니다. 누구든지이 일을하는 방법을 알려줄 수 있습니까?

+0

VS2010 프로젝트에서 동일한 문제가 발생했습니다 – Twelve47

답변

2

VS2k8 설치 프로젝트에 대해 알지 못해서 사용자 지정 작업을 실행할 수 있는지 알 수는 없지만 바로 가기에 AppId를 설정하려면 바로 가기를로드하고 바로 가기를 만들고 해당 쿼리를 IShellLink에 대한 것으로 알고 있습니다. IPropertyStore 다음 InitPropVariantFromString 귀하의 ID와 변종 SetValue (PKEY_AppUserModel_ID, propvariant) + 커밋에 대한 propertystore

1

Ander의 회신에 추가.

Visual Studio 설치 프로젝트는 appid 설정을 지원하지 않으며 Microsoft 리버스 the deprecation of Setup project feature을 사용하지 않는 한 절대로 존재하지 않습니다.

There is a Windows API Code Pack that helps in invoking shell APIs. Here은 맞춤 동작에서 바로 가기를 만드는 방법에 대한 자습서입니다. 사용자 지정 작업에 대한 바로 가기를 업데이트하는 코드를 추가 할 수 있습니다.

WIX 또는 NSIS와 같은 바로 가기에 대한 appid 설정을 지원하는 다른 MSI 제작 도구로 전환 할 수도 있습니다.

+3

그런데 emoacht에는 C# (http://emoacht.wordpress.com/2012/11/14)과 연결된 AppUserModelID로 바로 가기를 만드는 방법을 설명하는 훌륭한 블로그 게시물이 있습니다./csharp-appusermodelid /) –

7

Sheng은 "WIX 또는 NSIS와 같은 바로 가기에 대한 appid 설정을 지원하는 다른 MSI 제작 도구로 전환 할 수도 있습니다."

Wix에서 Shortcut 요소를 사용하여이를 수행하려면 Shortcut 요소에 하위 ShortcutProperty 요소를 추가하고 Shell 속성 이름 "System.AppUserModel.ID"를 키로 사용해야합니다.

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

ShortcutProperty/Key를 "System.AppUserModel.ID"로 명시 적으로 설정하는 것과 관련된 알려진 문제가 있습니다 (http://support.microsoft.com/en-us/kb/2745126). 대신 GUID + PropertyID를 대신 사용하는 것이 좋습니다. "System.AppUserModel.ID"= "{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 5"(https://msdn.microsoft.com/en-us/library/windows/desktop/dd391569%28v=에서) vs.85 % 29.aspx) – jbudreau