Есть ли способ добавить приложение ClickOnce, которое использует .appref-ms к системному пути? - PullRequest
4 голосов
/ 03 ноября 2011

Я загрузил приложение Windows под названием MarkdownPad (отличное приложение!) И хотел бы добавить его в системный путь, чтобы я мог открыть его из командной строки, например,

> markdownpad.exe .\something.md

Однако я не могу найти, где это приложение установлено на диске.Когда я смотрю приложение в меню «Пуск», я вижу только файл .appref-ms.Открыв его в блокноте, я вижу только URL-адрес, http://markdownpad.com/download/MarkdownPad.application#MarkdownPad.application. Я не совсем уверен, как именно это используется, но на самом деле это не помогает мне понять, как запустить этот инструмент из командной строки.

Что я могу сделать, чтобы запустить это приложение из командной строки?

Ответы [ 5 ]

7 голосов
/ 20 января 2012

Если вы связываете файлы .md с MarkdownPad, чтобы дважды щелкнуть их, чтобы открыть их, вы можете использовать утилиту запуска для открытия файлов разметки.

Это то, что я делаю в своих репозиториях git.

start README.md

По общему признанию, это работает, только если вы называете свои файлы уценки с расширением .md.

Вероятно, есть более простой способ связать, но вот что я сделал (Windows 7), чтобы я не сделалнеобходимо найти путь к Mp.

  1. Запустить MarkdownPad
  2. Перетащите случайный .md-файл на значок MarkdownPad на панели задач (чтобы подсказать ОС, что Mp являетсяальтернатива).
  3. Щелкните правой кнопкой мыши по тому же файлу MD, выберите Открыть с помощью -> Выбрать программу по умолчанию ...
  4. Выберите MarkdownPad

Утилита запускаэто находка, если вы находитесь в git bash или cmd.exe.Запустите foo.sln, запустите Visual Studio, запустите foo.jpg, запустите программу просмотра изображений по умолчанию и т. Д.

3 голосов
/ 03 ноября 2011

Удивите меня :) Я не осознавал, что вы используете Powershell, поэтому я сделал для этого командный файл.Я подумал, что я мог бы также опубликовать это как другой вариантСамый простой способ заставить его работать - сохранить его как markdownpad.cmd и выбросить в системную папку.

@echo OFF
set app=C:\Users\[UserName]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\MarkdownPad\MarkdownPad.appref-ms

if [%1]==[] (
  "%app%"
  goto exit
) 

if exist "%~dpnx1" (
  "%app%" "%~dpnx1"
  goto exit
)

echo Can't find file, '%1%'

:exit
2 голосов
/ 03 ноября 2011

Я проверил с Эваном , разработчиком, который написал MarkdownPad, и, очевидно, вы можете напрямую вызвать файл MarkdownPad.appref-ms, но в настоящее время он не анализирует относительные пути.Тем не менее, я смог написать простой скрипт Powershell, который разрешит мне путь.

  1. Добавьте C:\Users\<your username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\MarkdownPad\MarkdownPad.appref-ms к вашему системному пути.
  2. Используйте следующий Powershellскрипты (я рекомендую добавить их в свой профиль Powershell):

    function Start-MarkdownPad([string] $path){
      $pathResolved = Resolve-Path $path
      MarkdownPad.appref-ms $pathResolved
    }
    Set-Alias mdp Start-MarkdownPad
    

Это позволяет открыть файл из Powershell следующим образом:

> mdp .\foo.md
1 голос
/ 18 марта 2013

Я разработчик MarkdownPad - просто хотел обновить этот вопрос, чтобы отразить некоторые недавние изменения.

MarkdownPad 2 теперь доступен и больше не развертывается через ClickOnce , который стал источником проблем, представленных в этом вопросе.

Новая версия MarkdownPad развертывается с помощью традиционного установщика Windows, поэтому к исполняемому файлу можно получить прямой доступ, не беспокоясь о файлах манифеста развертывания. Это также позволяет легко сопоставлять ассоциации файлов непосредственно с .exe.

Надеюсь, это поможет!

0 голосов
/ 10 сентября 2012

Скопируйте C: \ Documents and Settings \ ... \ MarkdownPad \ MarkdownPad.appref-ms в C: \ WINDOWS \ system32 \ MarkdownPad.appref-ms, после чего вы можете открыть файл уценки в любой папке:

MarkdownPad.appref-ms d:\download\a.txt
...