VS2008,Windows Mobile Installer项目

我正在使用Visual Studio 2008专业版。 我为Windows Mobile编写了一个应用程序,我想为此应用程序创建安装程序。 它是怎么做的?

您需要将应用程序打包在CAB文件中。

要做到这一点非常简单 – 您只需创建一个新的“智能设备CAB项目”(New Projet->其他项目类型 – >设置和部署)。

首先 – 指定您希望应用程序的exe项目的输出与任何其他相关的dll一起进入应用程序目录。

您可能还需要通过右键单击目标计算机上的文件系统,选择添加特殊文件夹 – >开始菜单文件夹,然后在开始菜单文件夹中再次右键单击并选择创建新快捷方式,为应用程序创建一个图标。 现在将此快捷方式指向应用程序的exe。

根据项目的要求,可能还需要创建一个桌面安装程序(msi文件),用户可以直接在其Windows PC上运行该安装程序,该安装程序指示ActiveSync在下次插入Windows Mobile设备时自动安装您的cab文件基本上,这是通过从命令行调用ActiveSync(CeAppMgr.exe)并向其传递引用cab文件的ini文件来完成的。

如果您在安装过程中需要执行其他更复杂的操作,也可以编写“自定义操作”,其中cab文件调用另一个dll(由您编写)以执行安装期间需要执行的任何其他步骤。

这里提供了上述所有内容的综合指南

Mobile Packager (www.MobilePackager.com)等工具也可用于为Windows Mobile创建安装包。 它允许您创建非常光滑的安装程序,以便通过桌面或设备安装进行安装。

Mobile Packager On Device Installation http://sofzh.miximages.com/c%23/Screen_Device.jpg

看看这个

http://msdn.microsoft.com/en-us/library/bb158729.aspx

在这里,您可以找到解决问题的方法。 此外,还有一些软件可以直接在VS2008环境之外创建CAB文件,但我尝试过的所有软件都是令人讨厌且很省钱的。

我自己的经验是,创建在Windows下运行的安装文件的时间成本太高(除非您只是在讨论创建输出CAB的安装项目,这需要针对.NET框架的其他设置过程,并且只能在您的WM内部运行)机)。

“官方”过程包括生成CAB文件,使您的CAB文件“自动运行”的附加DLL,以及安装该DLL的其他安装项目。

如果您这样做,请参阅此处: http : //msdn.microsoft.com/en-us/library/bb158529.aspx

经过几天的挣扎,我决定购买商业产品来自动创建安装文件。 我购买的那个名为“PocketPC Installer Professional”(因为我与这个商业产品无关)。 生成的设置与通常的Windows软件设置看起来并不相似,但至少它可以工作并且需要更少的工作量。

谢谢回复。 我找到了这个教程: 安装程序 。


最好的: Satellite Forms KnowledgeBase

以下是InnoSetup(带预处理器)脚本的一个非常基本的示例,用于为Windows移动设备创建桌面安装程序。 您必须已经创建了CAB并且为此编写了.ini才能正常工作。

#define AppName "Your Software" #define AppPublisher "Your Name Here" #define ExeName "Your Software.exe" #define UnixName "YourSoftware" #define Short "YS" #define Version "1.0" [Setup] AppName={#AppName} AppVerName={#AppName} {#Version} AppPublisher={#AppPublisher} DefaultDirName={pf}\{#AppName} DefaultGroupName={#AppName} AllowNoIcons=yes LicenseFile=license.rtf OutputDir=// OutputBaseFilename={#Short}_{#Version}_Setup SetupIconFile=Icons\{#UnixName}.ico Compression=lzma SolidCompression=yes [Languages] Name: english; MessagesFile: compiler:Default.isl [Tasks] Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked [Registry] Root: HKLM; Subkey: Software\{#Short}; ValueType: string; ValueName: Version; ValueData: {#Version}; Flags: uninsdeletekey [Files] Source: license.rtf; DestDir: {app}; Flags: ignoreversion Source: {#UnixName}_{#Version}_Setup.CAB; DestDir: {app}; Flags: ignoreversion Source: {#UnixName}_{#Version}_Setup.ini; DestDir: {app}; Flags: ignoreversion [Icons] Name: {group}\{#AppName}; Filename: {app}\{#ExeName} Name: {group}\{cm:UninstallProgram,{#AppName}}; Filename: {uninstallexe} Name: {userdesktop}\{#AppName}; Filename: {app}\{#ExeName}; Tasks: desktopicon Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#AppName}; Filename: {app}\{#ExeName}; Tasks: quicklaunchicon [Run] Filename: "{pf64}\Microsoft ActiveSync\CEAPPMGR.EXE"; Parameters: ""{app}\{#UnixName}_{#Version}_Setup.ini""; Check: Is64BitInstallMode; WorkingDir: {app} Filename: "{pf32}\Microsoft ActiveSync\CEAPPMGR.EXE"; Parameters: ""{app}\{#UnixName}_{#Version}_Setup.ini""; Check: not Is64BitInstallMode; WorkingDir: {app}