通过 clickonce 安装包含组件 - 正确的方法是什么?
我有一个使用同步框架 2.1 版的 clickonce 应用程序。 我希望运行该应用程序所需的所有文件都与其捆绑在一起。
在我的发布设置中的“应用程序文件”下,我标记了要包含的以下文件:
- microsoft.synchronization.data.dll
- microsoft.synchronization.data.server.dll
- microsoft.synchronization.data.sqlserver.dll
- microsoft.synchronization.sqlserverce。 dll
- microsoft.synchronization
这似乎不需要安装程序下载任何额外的东西。 然而,应用程序的目标是32位。如果应用程序安装在 64 位计算机上,则在使用以下内容执行同步时会出错:
...failed due to the following error 80040154 class not registered regdb-e-class not registered...
解决此问题的方法是用户从此处安装可再发行的同步框架的 32 位版本: Microsoft
我做错了什么发布设置是否会出现这种情况?理想情况下,我希望应用程序能够安装并运行,而无需下载任何额外的内容。
谢谢
I have a clickonce application that makes use of the sync framework, version 2.1.
I would like it so that all files nessessary to run the application come bundled with it.
In my publish settings, under Application Files, I have flagged the following files to be included:
- microsoft.synchronization.data.dll
- microsoft.synchronization.data.server.dll
- microsoft.synchronization.data.sqlserver.dll
- microsoft.synchronization.sqlserverce.dll
- microsoft.synchronization
This seems to nagate the need for the istaller to download anything extra.
However, the target of the application is 32bit. If the application is installed on a 64bit machine then it will error when a sync is performed with the following:
...failed due to the following error 80040154 class not registered regdb-e-class not registered...
The fix for this will be for the user to install the 32bit version of the sync framework redistributable from here: Microsoft
What am I doing wrong with the publish settings for this to be the case? Ideally, Id like the application to be able to be installed and run without the need to download anything extra.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您必须进行两种部署,一种用于包含 64 位程序集的 64 位计算机,另一种用于包含 32 位程序集的 32 位计算机。
您的另一个选择是采用 Sync Framework 的可再发行组件,并使用 Bootstrapper Manifest Generator 创建自定义先决条件; BMG 中可能会有一项检查操作系统的检查,我不确定。如果没有,这当然不适合你。
I think you would have to have two deployments, one for 64-bit machines that includes the 64-bit assemblies, and one for 32-bit machines that includes the 32-bit assemblies.
Your other choice is to take the redistributable for the Sync Framework and create a custom prerequisite for it using the Bootstrapper Manifest Generator; there might be a check in the BMG that will check the OS, I'm not sure. If not, this doesn't behoove you of course.