【问题标题】:Deploy a Desktop Shortcut to a Device running Windows CE 4.2 (VS2005)将桌面快捷方式部署到运行 Windows CE 4.2 (VS2005) 的设备
【发布时间】:2010-09-13 19:29:12
【问题描述】:

我有一个使用 VS2005 在 C# 中针对 Compact Framework 2.0 SP2 编写的应用程序。作为解决方案的一部分,我有 CAB 部署项目,它可以毫无问题地部署到设备上。我不能做的是在设备桌面上创建我的应用程序的快捷方式。

我花了几个小时阅读各种文档(为什么在 MSDN 站点上的搜索结果如此糟糕?),按照说明进行操作,但没有任何乐趣。

我所做的是:

  • 将“Windows 文件夹”节点添加到文件系统
  • 在名为“Desktop”的文件夹下创建了一个文件夹
  • 创建了应用程序主输出的快捷方式并将其放在“桌面”文件夹中

我错过了什么?

【问题讨论】:

    标签: deployment windows-mobile visual-studio-2005 cab desktop-shortcut


    【解决方案1】:

    有点晚了,但也许这会帮助像我这样搜索这个问题的人,我解决了这样的问题:

    我在根节点(本地机器上的文件系统)上添加了一个自定义文件夹,并将其命名为 %CE3%。 这是\Windows\Desktop 的快捷方式。 我添加了我的快捷方式(右键单击创建新快捷方式)并为其命名。 就是这样,然后我开始构建!

    在分析生成的 inf 中的 Shortcuts 部分时,它看起来不错。

    [Shortcuts]
    "ShortCutName",0,"MyApp.exe","%CE3%"
    

    当我部署后它运行良好!

    我正在使用 VS2008 并部署在 windows CE 5.0 上

    这里是快捷方式列表:windows CE shortcuts

    【讨论】:

      【解决方案2】:

      Windows CE 快捷方式(任何版本或风格的 CE,包括 WinMo)使用基于 ASCII 文本的文件。它们的形式为:

      {XX}#{PATH}

      地点:

      • XX = 路径中的字符数,包括数字和 # 符号
      • PATH = 要运行的文件的完全限定路径

      例如:

      20#\Windows\calc.exe

      另一种选择是使用用于生成 CAB 的 INF 文件的 CEShortcuts 部分。

      在 INF 的 [DefaultInstall] 部分中,将 CEShortcuts 设置为您选择的部分名称(类似于“快捷方式”),然后使用您的快捷方式描述符添加该部分。 MSDNdetails it here.

      MSDN 也有一篇关于创建部署项目以生成 cab (available here) 的文章,但老实说,项目功能有限,而且 IMO 工具通常很烂。直到今天,我们仍然使用手写的 INF 文件直接调用 CABWIZ(这也很糟糕,但这是我们唯一的选择)。

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题并找到了一个简单的解决方案,如果有人仍然需要这个。

        不要添加 Windows 特殊文件夹,只需添加一个名为 Windows 的自定义文件夹,然后在其中添加一个名为 Desktop 的文件夹,然后将快捷方式放在那里。

        这对我有用。

        【讨论】:

          【解决方案4】:

          最简单的方法是进入 Cab 项目中的 Application 文件夹(设置),右键单击您的 EXE 程序(您要为其创建快捷方式的应用程序 exe)并选择“创建快捷方式”并将该文件移动到任何您想要的文件夹,例如“开始菜单文件夹”

          【讨论】:

          • 我的 cab 项目中没有看到应用程序文件夹
          【解决方案5】:

          Mitch:像以前一样创建 LNK 文件,但给它起一个类似“shortcut.lnkx”的名称(注意末尾的“x”)。然后,您可以将其添加到 CAB 项目中的“桌面”文件夹中。添加文件后,将 TargetName 属性更改为“shortcut.lnk”并编译。 我认为这行得通。

          【讨论】:

            【解决方案6】:

            假设您使用 Windows Mobile(5.0 或 6.x),您可以使用该语法将文件创建为 shourtcut(*,lnk):

            SHORTCUT = XX#"\Program Path..."?\Icon File Path...,-Icon Number
            

            地点:

            XX = 要在要处理的程序路径之后包含在参数中的字符数。 程序路径 = 目标 exe 文件位置。 Icon File Path = 如果 exe 文件不包含图标图像或您想使用另一个,这是包含图标图像的文件的位置。 图标编号 = 文件内图标图像的索引,从 0 开始。

            Ex: 86#"\Storage Card\Logical Sky CEdit\cedit.exe"?\Storage Card\Logical Sky CEdit\cedit.exe,-101
            

            我已经测试过了,效果很好。

            【讨论】:

              【解决方案7】:

              1.复制文件。

              2.转到桌面(或您要创建快捷方式的任何位置)。

              3.在空白处右击,点击粘贴快捷方式

              就是这样。

              【讨论】:

                【解决方案8】:

                其实这很简单! (使用 VS 2008 和 Smart Device CAB 项目)

                1- 在 VS 的解决方案资源管理器中,转到您的 CAB 项目并右键单击它。

                2- 转到查看-> 文件系统

                3- 在这里,在左栏中,右键单击并“添加特殊文件夹”

                4- 为快捷方式文件夹选择开始菜单文件夹

                5- 转到上方的应用程序文件夹

                6- 在右栏中,右键单击主输出并选择“创建 bla bla bla 的快捷方式”

                7- 然后你只需将它移动到左侧的开始菜单文件夹并重命名文件:)

                可选:您甚至可以使用“添加特殊文件夹”菜单中的“字体文件夹”将字体添加到设备!

                干杯

                【讨论】:

                • 这让我完成了最后的步骤。
                【解决方案9】:

                我假设您正在处理“智能设备 CAB 项目”?我不认为这个项目以正确的方式为 Windows CE 4.2 创建快捷方式。我认为您可以从 Microsoft 下载一个 SDK,安装后会显示类似“Windows CE CAB 项目”之类的项目选项。

                不过,我认为您可以手动执行此操作。 Windows CE 快捷方式是一个带有 *.lnk 扩展名的文件,因此如果您想要一个标有“我的应用程序”的快捷方式,请在您的 PC 上创建一个名为“我的应用程序.lnk”的文本文件。该文件的内容应该是:

                46#\程序文件\我的 Application\MyApplication.exe(# 应该是完整路径长度)

                或您的应用程序在 Windows CE 设备上的任何完整路径。

                在您的 CAB 项目中,继续添加“Windows”文件夹,然后按原样添加“Desktop”文件夹。在 Desktop 文件夹中,右键单击并添加您创建的 LNK 文件。您可能需要软重置设备才能在安装后显示快捷方式。

                【讨论】:

                • 我按照你的建议做了,但是当我尝试将它添加到桌面文件夹时,VS 抱怨:“无法解析此链接。此文件可能不是快捷方式。”
                • 我确实说了很多“我认为”。您运行的是 Pocket PC 2003 或 Windows Mobile,还是实际运行的是旧的 Windows CE 4?
                猜你喜欢
                • 2010-09-15
                • 2019-12-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2022-10-19
                • 2023-03-18
                • 1970-01-01
                相关资源
                最近更新 更多