2013-02-21 1 views
0

C# 또는 WinAPI 함수를 사용하여 프로그래밍 방식으로 광고 된 바로 가기 (예 : MS Office 바로 가기 참조)를 만드는 방법이 있습니까?Advertised Shortcuts

가 난 단지/수 등의 바로 가기와 MSI는 바로 가기를 생성하는 지식에서 정보를 정기적으로 읽는 방법,하지만 그들을 만들 수있는 어떤 방법을 발견 등 shortcuttypes의 sideeffect으로

(MSI 설치없이) 그들은 편집 할 수 없습니다 propertieswindow에서 "uneditable"바로 가기를 만들고 싶습니다. (MS Office처럼 - 다른 광고 바로 가기 기능에별로 관심이 없습니다)

+0

그들은 실제 광고 된 바로 가기가되어야합니까? check/install을 수행하는 스텁 프로그램에 대한 바로 가기를 사용할 수 있습니다. 이는 광고 된 바로 가기가하는 것과 동일한 것입니다. – Deanna

+0

자기 치유 기능에도 동일하지만, "편집 불가능한"바로 가기를 만드는 방법이있는 경우에는 도움이됩니다. – wischi

+0

"편집 불가능한"바로 가기를 실제로 사용한 경우 질문에 맞게 조정할 수 있습니까? 보급 된 바로 가기는 "편집 할 수없는"바로 가기 (탐색기에서) 바로 가기 중 하나입니다. – Deanna

답변

2

실제로는 아닙니다. 보급 된 바로 가기의 대상은 설치된 제품 구성 요소의 키 파일입니다. 이렇게하면 클릭 할 때 상태 확인을 수행 할 수 있습니다.

MSI가 없으면이 모든 것을 수행 할 수 없습니다.

ShellAPI는 WindowsInstaller의 CreateShortcut 작업이 사용하는 기능을 노출 할 수 있지만 인수로 ProductCode 및 ComponentID 같은 것을 가져올 것이라고 확신합니다.

MSI를 사용하여 설치 한 경우 DTF를 사용하여 설치된 MSI 복사본을 만들고 ShortCut 테이블을 업데이트 한 다음 제품을 다시 캐시하여 생성 된 보급 된 바로 가기를 만들 수 있다고 가정합니다. 그러나 나는 그것이 당신이 염두에 두었던 것이 아닌 것을 짐작하고 있습니다.

+0

"정말로". 그러나 방법이 없다면 msi는 그러한 단축키를 어떻게 만듭니 까? – wischi

+0

@wischi Windows Installer 개체에 대한 바로 가기이기 때문에. Windows Installer를 사용하지 않고 Windows Installer 개체를 만들 수 없습니다. – Deanna

1

Windows Installer를 사용하지 않고 MSI 보급 된 바로 가기를 만들 수는 없지만 모든 Windows Installer가 수행하는 모든 셸 네임 스페이스 개체에 대한 바로 가기를 만들 수 있습니다. 이렇게하려면 먼저 쉘 확장 DLL과 사용자 정의 코드를 사용하여 실제로 처음에 바로 가기를 작성해야합니다.

자세한 내용은 MSDN Shell referencethis article을 참조하십시오.

지연 설치 만 제공하려는 경우 필요한 경우 검사 및 설치를 트리거하는 스텁 실행 파일의 바로 가기를 만들 수 있습니다.

관련 문제