Deployment 将桌面快捷方式部署到运行Windows CE 4.2(VS2005)的设备

Deployment 将桌面快捷方式部署到运行Windows CE 4.2(VS2005)的设备,deployment,windows-mobile,visual-studio-2005,cab,desktop-shortcut,Deployment,Windows Mobile,Visual Studio 2005,Cab,Desktop Shortcut,我有一个使用VS2005在C#中编写的应用程序,目标是Compact Framework 2.0 SP2。作为解决方案的一部分,我有一个CAB部署项目,它可以毫无问题地部署到设备上。我不能做的是在设备桌面上创建应用程序的快捷方式 我花了几个小时阅读各种文档(为什么MSDN站点的搜索结果如此糟糕?),按照说明进行操作,但没有任何乐趣 我所做的是: 将“Windows文件夹”节点添加到文件系统 在名为“桌面”的文件夹下创建了一个文件夹 创建了应用程序主输出的快捷方式,并将其放置在“桌面”文件夹中

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

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

我所做的是:

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

我遗漏了什么?

我假设您正在处理一个“智能设备CAB项目”?我不认为这个项目以正确的方式为WindowsCE4.2创建快捷方式。我想你可以从微软下载一个SDK,在安装后,它会显示“WindowsCECABProject”这样的项目选项

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

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

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

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

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

{二十} #{PATH}

其中:

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

20#\Windows\calc.exe

另一个选项是使用用于生成CAB的INF文件的CEShortcuts部分

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


MSDN也有一篇关于创建一个部署项目来生成cab()的文章,但老实说,该项目的功能是有限的,而且在IMO中,该工具通常很差劲。到目前为止,我们仍然使用手工编写的INF文件直接调用CABWIZ(这也很糟糕,但这是我们唯一的选择)。

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

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

其中:

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

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

我对它进行了测试,效果很好。

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

有点晚了,但这可能会帮助像我这样搜索此问题的人,我解决了以下问题:

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

在分析生成的inf中的快捷方式部分时,它看起来不错

[Shortcuts]
"ShortCutName",0,"MyApp.exe","%CE3%"
当我部署时,它工作得非常好

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


下面是一个快捷方式列表:

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

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

这对我有用。

1.复制文件

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

3.右键单击空白区域,单击粘贴快捷方式


就是这样。

事实上,这很简单!(使用VS 2008和智能设备CAB项目)

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

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

3-在此处的左列上,右键单击并“添加特殊文件夹”

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

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

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

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

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


干杯

我按照你的建议做了,但当我尝试将其添加到桌面文件夹时,VS抱怨:“无法解析此链接。此文件可能不是快捷方式。”我确实说了很多“我想”。您是在运行Pocket PC 2003或Windows Mobile,还是在运行旧的Windows CE 4?我的cab项目中没有看到应用程序文件夹这让我了解了最后的步骤。
[Shortcuts]
"ShortCutName",0,"MyApp.exe","%CE3%"