vbscript를 사용하여 ClickOnce 배포 된 Windows 응용 프로그램을 시작합니다

StackOverflow https://stackoverflow.com/questions/240345

문제

다음 예제에서 Microsoft Word를 시작하는 것과 유사한 ClickOnce 배포 응용 프로그램이 있습니다.

Dim word
Set word = CreateObject("Word.Application")
word.Visible = True

문제는 어떤 매개 변수가 CreateObject 내 응용 프로그램을 시작하는 기능. 내 PC/바로 가기에 설치된 마스터 애플리케이션 목록은 어디에서 찾을 수 있습니까?

도움이 되었습니까?

해결책

Clickonce는 단순히 그런 식으로 설치되지 않았습니다. 일반적으로 COM 후크가 없으며 (CreateObject의 경우) 사용자 프로필의 격리 된 부분 (해당 기계의 프로필이 아님)에 설치됩니다. 또한 ClickOnce (다른 위치에서)를 통해 한 번에 동일한 앱의 여러 사본/버전을 얻을 수 있다는 것을 잊지 마십시오.

하나의 옵션 (3.5/vs2008)은 새 파일 연관성을 사용하는 것일 수 있습니다 ... 앱을 ".foo"파일과 연결하고 빈 ".foo"파일을 만들고 시작하는 것입니다. 작동 할 수도 있습니다. vs2008의 Publish => 옵션 대화 상자를 살펴보십시오.

그렇지 않으면 - 기본적으로,이 유형의 사용을 원한다면, 앱을 COM 라이브러리 (DLL)로 등록하려면 MSI (예 : 일반 설치 프로그램; ClickOnce가 아닌)를 사용해야한다고 생각합니다. .NET은 좋은 COM 서버 (EXE)를 만들지 않으므로 Word와 직접 비교하지 않습니다. .NET COM 서버를 원한다면 "서비스 구성 요소"가 최선의 방법입니다. 그러나 UI에서는 큰 경향이 없습니다.

정보를 위해, 격리 된 영역은 "%userprofile% local settings apps 2.0"주위 어딘가에 있지만, 이것은 단지 관심을 끌기 때문에 그것을 볼 수 있습니다. 거기에서 실행하지 마십시오.

다른 팁

정보 주셔서 감사합니다. 따라서 VBScript 대신 .NET 실행 파일을 사용하여 응용 프로그램을 시작할 수 있다는 것을 알게되었습니다.

    Dim program As New Process

    'Try to run a .Net click-once application
    Try
        Dim shortcut As String = Environment.GetFolderPath(Environment.SpecialFolder.StartMenu)
        shortcut = shortcut + "specific\shorctut\path\shortcut.appref-ms"
        program .StartInfo.FileName = lpsShortcut
        program .Start()
    Catch
        'If not go to the web site for a fresh install
        Try
            .Diagnostics.Process.Start("IExplore.exe", "http://url/program.application")
        Catch ex As Exception
            'Log or Email alert here...
        End Try
    End Try
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top