问题标签 [cabwiz]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
msbuild - 如何从命令行为智能设备 cab 项目创建 inf 文件?
我正在尝试让我的持续集成从命令行的 msbuild 中创建构建智能设备 cab 项目。我发现的所有内容都说使用从 Visual Studio 中构建项目时创建的 inf 文件(带有 cabwiz)。有没有办法使用 .vddproj 文件创建 inf 以便我可以将它与 cabwiz.exe 一起使用?
installation - WinCE CabWiz 错误:“inf 包含不受支持的 DirID”
在为我们的产品构建 windows mobile cab 时,windows CE CAB 向导 (CabWiz.exe) 有时会返回错误:
错误:文件 c:\docume~1\build\locals~1\temp\wiz3340.inf 包含不受支持的 DirID
当使用超过 998 个文件、~260 个目录或未转义 % 符号(使用另一个 %)时,可能会发生此错误,但这些不适用于我们的案例。
有没有人遇到过这个问题?谢谢!
visual-c++ - 从 Visual C++ dll 启动 cab 文件
有谁知道如何从 Visual C++ dll 启动 cab 文件,该文件在 windows mobile 上安装应用程序时用作设置 dll。基本上,我需要 dll 来检测是否未安装紧凑框架并在需要时运行所需的 cab 文件。
多年来,我一直在谷歌搜索类似的东西,但没有运气。当然,这已经完成,并且有一些例子。非常非常非常感谢您的帮助。托尼
windows-ce - 在 Windows CE 上安装 cab 文件时出错
我在用于创建 cab 的 .inf 文件中使用宏时遇到问题,特别是在设置InstallDir
字符串时。如果我做这样的事情:
然后一切正常。但是,如果我这样做:
然后在尝试安装 cab 时出现以下错误(在我的设备上双击它):“MyAppName 未成功安装。请再次运行安装程序。”
这似乎只适用于内置宏字符串。我可以%AppName%
毫无问题地使用。也许有一些注册表设置没有正确设置,通常会解析%CE1%
宏?
关于发生了什么的任何想法?
编辑:我的设备没有\Program Files
目录。似乎%CE1%
宏总是解析为该路径,如果InstallDir
inf 文件中指定的不存在(最后一个目录部分除外,则安装失败。手动创建\Program Files
修复了问题。由于我使用的很多设备使用他们的 Program Files 目录有不同的路径,有没有一种通用的方法可以让安装程序默认为实际的 Program Files 目录?我想我唯一的另一个选择是不指定路径并强制用户选择一个?
windows-mobile - 在哪里可以找到 CabWiz.exe
我正在重置我的开发机器,但我似乎不记得我在哪里得到了 CabWiz.exe(用于为 windows mobile 创建安装 cab 文件)。
是在某个包中的 MSDN 下载上吗?或者别的地方?有人知道吗?
我安装了 Windows Mobile 5 SDK,我认为这就是我所需要的,但我想我还需要其他东西。
我问了 MS Concierge,他们说它带有平台构建器(无论如何我都会安装),但路径与我所拥有的不同。
它位于 C:\Program Files\Microsoft Visual Studio 9.0\SmartDevices\SDK\SDKTools\cabwiz.exe,他告诉我它位于 \CEPB\Bin\cabwiz.exe。我担心我错过了其他东西......
后记:对,所以,我没那么聪明。我的 MSBuild 脚本找不到
- C:\Program Files\Microsoft Visual Studio 9.0\SmartDevices\SDK\SDKTools\cabwiz.exe。
这是有充分理由的,因为我安装在 64 位操作系统上。所以现在在
- C:\Program Files (x86) \Microsoft Visual Studio 9.0\SmartDevices\SDK\SDKTools\cabwiz.exe
有时我只是超级短视!
visual-studio-2008 - 从 VS2008 的 Smart Cab 项目中排除 setup.dll
我在 CE5 和 WM6 上运行的安装程序中添加了一些自定义操作。该安装程序工作正常并且构建良好。然而,有一个烦恼。setup.dll 已部署到设备,此文件不是必需的。
我已经阅读了几个关于创建 setup.dll 文件、MSDN 甚至移动 SDK 的网站。他们都陈述了相同的步骤。
- 创建您的 C++ dll 项目。
- 确保输出名为 setup.dll。
- 在您的 cab 项目上单击 CE 设置 DLL,浏览应用程序文件夹,添加输出并选择您的设置项目。(您不能选择本地目录,它始终是目标机器上的目录)
现在这确实有效并生成了一个自定义 cab 安装程序。然而,如前所述,setup.dll 被复制到应用程序文件夹中,即使安装后不需要它(甚至卸载时也不需要)
我试图通过在其属性中将 exclude 设置为 true 来排除 setup.dll。所有这些都不包括文件a all,因此缺少setup.dll 时要构建的cab 文件。
因此,我得到的唯一解决方案是手动更改 cab .inf 文件
到
其中 Files.Common4 指向机器本地的 setup.dll 文件。进行此更改意味着它用于构建 cab 文件,但不会复制该文件。
无论如何在visual studio中进行此更改,还是总是手动编辑.inf文件并使用cabwiz.exe手动构建cab文件?
windows-mobile - 带有 cabwiz.exe 的 NAnt exec 任务失败
我在 Windows 7 Professional 上使用 NAnt 0.90。
我正在尝试使用 NAnt 构建 CAB 文件。NAnt 正在使用执行任务让 CabWiz 使用 inf 文件构建 CAB 文件。构建失败,但如果我从命令行使用 CabWiz 而不是 NAnt,我可以构建 CAB 文件。
这是我的 NAnt 构建文件的相关部分:
CabWiz 生成的 cab_build_errors.err 文件包含 2 个警告和一个非常一般的错误消息:
当我从命令行构建 CAB 时,我收到相同的 2 个警告,但没有错误。这是我用来从命令行构建它的内容:
更新:
我能够使用以下命令从命令行重现错误:
不同之处在于我没有指定 inf 文件的完整路径。是否有一个变量或其他东西可以用来让 NAnt 传递完整路径,而无需在构建脚本中明确包含完整路径?只有构建文件目录的东西可以工作。
windows-mobile - 是否可以让 Windows Mobile 保留卸载后从 .cab 文件安装的一些文件?
我正在制作 .cab 文件,用于在移动设备(Windows Mobile 6.5)上部署我的应用程序。我使用 cabwiz.exe “手动”创建它,因为 Visual Studio 2008 存在 CAB 项目的问题(它们描述得很好,本地化文件是一个问题)。
一切都很好,除了当用户卸载应用程序时 Windows Mobile 会删除所有已安装的文件。我想在卸载后保留一些文件,以防安装另一个版本的应用程序。
现在,在卸载期间保留文件不被删除的唯一方法是重命名它们。有没有更好的做法?
windows-mobile - WCELOAD 无法安装压缩的 CAB 文件
我想通过替换文件柜中的文件来操作我们使用 CABWIZ 生成的(未签名的)CAB 文件之一。目前我正在使用Microsoft.Deployment.Compression.Cab.dll
此任务(提取所有文件,替换目标,重新创建文件柜),只要我不启用压缩,它就可以很好地工作。
一旦我启用压缩,WM 6.5.3 将不再安装 CAB 文件:
CABFILE安装不成功。
CABWIZ生成的原始文件是压缩的,所以我知道WM中的WCELOAD可以处理压缩文件。我搜索了 Microsoft 库的配置选项,但没有找到。
有没有办法使用 Microsoft 库创建压缩 CAB,或者是否有任何其他库可用于此任务?有很多库可以操作 CAB 文件,但我找不到有关可以创建与 WCELOAD 兼容的压缩 CAB 文件的库的信息。
更新:经过一番研究,我发现 WCELOAD 支持 MSZIP 算法,而 Microsoft 库使用 LZX。所以我正在寻找一个能够使用 MSZIP 算法创建压缩 CAB 文件的库。
visual-studio-2008 - 在 Windows 8.1 中使用 VS2008 创建 Cab 失败
最近我升级到 Windows 8.1。
在为我的 windows mobile 旧项目之一尝试 craete CAB install 后,我收到此错误:
这是inf文件
在此错误之后,我注意到该[RegKeys]
部分是空的,因此向 cab 添加了一些寄存器,并将我的 inf 文件的最后一部分更改为:
但仍然没有创建出租车。并且错误只是更改为:
Windows 8.1 和 vs 2008 有什么问题吗?这个项目在我以前的窗口中运行良好。