【问题标题】:Is there a way to add a ClickOnce application that uses .appref-ms to the system path?有没有办法将使用 .appref-ms 的 ClickOnce 应用程序添加到系统路径?
【发布时间】:2011-12-21 06:40:28
【问题描述】:

我下载了一个名为 MarkdownPad 的 Windows 应用程序(很棒的应用程序!),并想将它添加到我的系统路径中,以便我可以从命令行打开它,例如

> markdownpad.exe .\something.md

但是,我找不到此应用程序在磁盘上的安装位置。当我在开始菜单中查找应用程序时,我看到的只是一个 .appref-ms 文件。在记事本中打开它,我看到的只是一个 URL,http://markdownpad.com/download/MarkdownPad.application#MarkdownPad.application。我不确定它是如何使用的,但这并不能真正帮助我弄清楚如何从命令行运行这个工具。

我可以做些什么来从命令行执行这个应用程序吗?

【问题讨论】:

  • MarkdownPad 2 最近发布,不再使用 ClickOnce 部署系统(解决了这些问题)。有关更多信息,请参阅下面的答案。

标签: .net wpf path clickonce


【解决方案1】:

如果您将 .md 文件与 MarkdownPad 相关联,以便您可以双击打开它们,您可以使用启动实用程序打开 Markdown 文件。

这就是我在我的 git 存储库中所做的。

start README.md

诚然,这仅在您使用 .md 扩展名命名您的降价文件时才有效。

可能有一种更简单的关联方式,但这是我所做的(Windows 7),因此我不必浏览到 Mp 的路径。

  1. 启动 MarkdownPad
  2. 将随机的 .md 文件拖动到任务栏中的 MarkdownPad 图标(以向操作系统提示 Mp 是替代方案)。
  3. 右键单击同一MD文件,选择打开方式->选择默认程序...
  4. 选择 MarkdownPad

如果您在 git bash 或 cmd.exe 中,启动实用程序是天赐之物。启动 foo.sln 启动视觉工作室,启动 foo.jpg 启动您的默认图像查看器等。

【讨论】:

  • 终于可以让 Markdownpad 成为我的默认 .md 文件程序
【解决方案2】:

击败我 :) 我没有意识到您使用的是 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

【讨论】:

    【解决方案3】:

    我咨询了编写 MarkdownPad 的开发人员 Evan,显然您可以直接调用 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
    

    【讨论】:

    • 说得好!我将在未来的版本中添加通过命令行加载相关 URI 的功能 - 它已正式添加到问题跟踪器中:)
    【解决方案4】:

    我是MarkdownPad 的开发人员- 只是想更新这个问题以反映最近的一些变化。

    MarkdownPad 2 is now available 并且不再通过 ClickOnce 部署,这是此问题中出现问题的根源。

    新版本的 MarkdownPad 是通过传统的 Windows 安装程序部署的,因此可以直接访问可执行文件,而无需担心部署清单文件。这还允许文件关联轻松地直接映射到 .exe。

    希望有帮助!

    【讨论】:

      【解决方案5】:

      将C:\Documents and Settings\...\MarkdownPad\MarkdownPad.appref-ms复制到C:\WINDOWS\system32\MarkdownPad.appref-ms,然后可以在任意文件夹中打开markdown文件:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-05
        • 1970-01-01
        • 1970-01-01
        • 2015-09-02
        • 2016-06-02
        • 2010-11-01
        • 2022-10-16
        • 1970-01-01
        相关资源
        最近更新 更多