代码之家  ›  专栏  ›  技术社区  ›  Michał Ziober

VS2008,Windows Mobile安装程序项目

  •  3
  • Michał Ziober  · 技术社区  · 17 年前

    我正在使用VisualStudio2008专业版。

    6 回复  |  直到 17 年前
        1
  •  13
  •   John Sibly    17 年前

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

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

    首先-指定希望应用程序的exe项目的输出与任何其他依赖DLL一起放入应用程序目录。

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

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

    有关上述所有内容的全面指南均可用 here

        2
  •  2
  •   Glorfindel Doug L.    7 年前

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

    Mobile Packager On Device Installation
    (来源: mobilepackager.com

    过来看

        3
  •  1
  •   user2888397 user2888397    17 年前

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

    在这里,您可以找到多个解决问题的方法。此外,还有一些软件可以直接在VS2008环境之外创建CAB文件,但我尝试的所有软件都很糟糕,而且成本也很高。

        4
  •  1
  •   user69640 user69640    17 年前

    我自己的经验是,创建在Windows下运行的安装文件花费的时间太长(除非您只是在谈论创建输出CAB的安装项目,这需要.NET framework的附加安装过程,并且只能在WM机器内运行)。

    “正式”过程包括生成CAB文件、使CAB文件“自动运行”的附加DLL以及安装该DLL的附加安装项目。

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

        5
  •  0
  •   Michał Ziober    17 年前

    谢谢你的回复。我发现这个教程: Installer .


    最佳中的最佳: Satellite Forms KnowledgeBase

        6
  •  0
  •   MaQleod    16 年前

    下面是InnoSetup(带预处理器)中创建windows mobile设备桌面安装程序的脚本的一个非常基本的示例。您必须已经创建了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}