将桌面快捷方式部署到运行 Windows CE 4.2 (VS2005) 的设备
Posted
技术标签:
【中文标题】将桌面快捷方式部署到运行 Windows CE 4.2 (VS2005) 的设备【英文标题】:Deploy a Desktop Shortcut to a Device running Windows CE 4.2 (VS2005) 【发布时间】:2010-09-13 19:29:12 【问题描述】:我有一个使用 VS2005 在 C# 中针对 Compact Framework 2.0 SP2 编写的应用程序。作为解决方案的一部分,我有 CAB 部署项目,它可以毫无问题地部署到设备上。我不能做的是在设备桌面上创建我的应用程序的快捷方式。
我花了几个小时阅读各种文档(为什么在 MSDN 站点上的搜索结果如此糟糕?),按照说明进行操作,但没有任何乐趣。
我所做的是:
将“Windows 文件夹”节点添加到文件系统 在名为“Desktop”的文件夹下创建了一个文件夹 创建了应用程序主输出的快捷方式并将其放在“桌面”文件夹中我错过了什么?
【问题讨论】:
【参考方案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?以上是关于将桌面快捷方式部署到运行 Windows CE 4.2 (VS2005) 的设备的主要内容,如果未能解决你的问题,请参考以下文章