2

我在用于创建 cab 的 .inf 文件中使用宏时遇到问题,特别是在设置InstallDir字符串时。如果我做这样的事情:

InstallDir=\<PathToProgramFiles>\MyAppName

然后一切正常。但是,如果我这样做:

InstallDir=%CE1%\MyAppName

然后在尝试安装 cab 时出现以下错误(在我的设备上双击它):“MyAppName 未成功安装。请再次运行安装程序。”

这似乎只适用于内置宏字符串。我可以%AppName%毫无问题地使用。也许有一些注册表设置没有正确设置,通常会解析%CE1%宏?

关于发生了什么的任何想法?

编辑:我的设备没有\Program Files目录。似乎%CE1%宏总是解析为该路径,如果InstallDirinf 文件中指定的不存在(最后一个目录部分除外,则安装失败。手动创建\Program Files修复了问题。由于我使用的很多设备使用他们的 Program Files 目录有不同的路径,有没有一种通用的方法可以让安装程序默认为实际的 Program Files 目录?我想我唯一的另一个选择是不指定路径并强制用户选择一个?

4

1 回答 1

1

首先,在链接中,您可以找到快捷方式及其含义(%C..%),转到附录B。Windows CE5 MSDN链接。

您可以将Setup Dll添加到 CAB 安装程序中,它将检查目录结构并创建一个文件夹以防万一它不存在。您可能会发现这个 SO问题很有用。

警告:如果您的目标是常规 Windows CE 设备,请注意将文件放置在基于 RAM 的文件系统的位置,然后文件将在重新启动后消失。

于 2010-02-09T06:56:20.357 回答