我向我们的安装程序添加了一些自定义操作,这是在CE5和WM6上运行的。此安装程序工作良好,构建良好。然而,有一个烦恼。setup.dll被部署到设备上,而这个文件是不必要的。
我读过几个关于创建setup.dll文件的网站,MSDN,甚至是移动SDK。它们都说明了相同的步骤。
创建project.
现在,这确实可以工作,并产生一个定制的cab安装程序。但是,如前所述,setup.dll被复制到应用程序文件夹中,尽管安装后不需要它(即使是卸载)。
我试图通过在属性中将setup.dll设置为true来排除它。这所做的就是不包括文件a All,所以在缺少setup.dll时构建cab文件。
因此,我找到的唯一解决方案是手动更改.inf (从
[DefaultInstall]
CEShortcuts=Shortcuts
AddReg=RegKeys
CopyFiles=Files.Common1,Files.Common2,Files.Common3,Files.Common4
CESetupDLL="Setup.dll"至
[DefaultInstall]
CEShortcuts=Shortcuts
AddReg=RegKeys
CopyFiles=Files.Common1,Files.Common2,Files.Common3
CESetupDLL="Setup.dll"其中Files.Common4指向机器上的本地setup.dll文件。执行此更改意味着它用于构建cab文件,但该文件不会被复制到对面。
在visual中是否存在这样的更改,还是总是手动编辑.inf文件,用cabwiz.exe手动构建cab文件?
发布于 2010-09-15 03:00:14
我有点糊涂。您已经创建了一个setup.dll安装程序扩展,并将其包含在CAB中,但不希望它出现在设备上?为了使您的自定义操作在CAB提取期间执行,DLL必须在CAB中并在设备上解压。
如果不希望它出现在设备上,只需将其从CopyFiles中省略并从INF中删除CESetupDLL条目即可。显然,这样做意味着它定义的任何自定义操作都不能运行。
要明确的是,您所引用的这个DLL用于安装和/或卸载期间的自定义设备上操作。它不会提供任何桌面功能。
https://stackoverflow.com/questions/3666235
复制相似问题