首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >部署使用SQLite的Windows8 Metro应用程序

部署使用SQLite的Windows8 Metro应用程序
EN

Stack Overflow用户
提问于 2012-09-08 03:54:31
回答 1查看 1.4K关注 0票数 16

背景

我们正在使用System Center 2012将Windows8 Metro风格的应用程序部署到运行Windows8企业版x64的现场三星石板上。slates加入到域中,并有一个持久的DirectAccess连接返回该域,从而允许系统中心将应用程序和更新推送到设备。

我们必须将我们的应用程序部署到现场可能有数百台设备上,这就是我们选择System Center路线的原因。代码签名证书使用组策略安装在每个设备上。要部署应用程序,只需提供包输出并指定要在其上安装它的设备集合。这个应用程序几分钟后就会出现在设备上。

我们遇到的问题是,当System Center部署我们的应用程序时,SQLite依赖项丢失,我们的数据访问都不起作用。

关于我们的项目的

我们的应用程序是一个使用SQLite作为后端的WinJS应用程序。但是,我们所有的数据访问代码都在WinJS项目引用的C# WinMD项目中。我们正在使用sqlite-net库与SQLite对话-我们在C#项目中包含了该库的源代码。

在Visual Studio中,我们按照Tim Heuer's article中的描述安装了SQLite for Windows Runtime extension。Metro应用程序引用了这个。

使用其他部署方法进行测试

当您在本地调试或运行应用程序时,从应用程序访问SQLite数据工作得很好-在调试/发布和x86/x64中都是如此。

应用程序打包过程提供了一个PowerShell脚本,您可以使用该脚本安装应用程序和开发人员许可证(如果需要)。当使用PowerShell脚本安装我们的应用程序时,SQLite数据访问也工作得很好。通过打包和安装应用程序的Debug/Release和x86/x64版本,验证了这一点。

Troubleshooting

当应用程序第一次尝试使用SQLite时,我们看到一个关于它无法找到sqlite3.dll的异常。

我们已经尝试/验证了以下内容:

  • 确认我们正在为WinRAR中的appx部署一个版本/x64,并验证它是否包含来自C#项目而不是WinJS项目的"SQLite build
  • Examine Windows Runtime“扩展,
  • 也引用了C++运行时,这导致系统中心在部署应用程序时失败。还不知道为什么,但我正在调查。

更新问题是系统中心在部署SQLite库所需的Visual C++运行时库依赖项时遇到问题。所以不幸的是,这不再是一个编程问题了。我们在这方面得到了一些帮助,我会发布修复。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-11 09:27:41

我想发布我们正在进行的临时修复的详细信息。我们也越来越接近问题的根源,所以我也想提供这些细节。

问题的摘要

当从我们的C++项目中引用Visual Metro运行时包时,系统中心无法将应用程序部署到设备,因为为适当的体系结构和构建风格部署适当版本的依赖项时存在问题。

我们运行Visual Studio2012(并打包项目以进行部署)的开发计算机使用的Visual C++运行时版本(50727)比全新安装的Windows8 (50712)中提供的版本更高。

与System Center团队合作,并确认这是我们正在使用的版本中的一个错误,并且已经在未来的构建中得到解决。我们将致力于环境升级,但这需要几个星期的时间。

解决方法

我确认并测试了以下解决方法:

用于Visual Studio2012的Metro project

它的工作方式很不错,因为依赖项的正确版本已经存在了。如果我们选择同时以x86和ARM为目标,显然不是一个长期的解决方案,但会让我们度过这个难关。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12324557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档