显然,Delphi(任何版本)都不支持安全异常处理程序(/ Visual Studio中的/ SAFESEH开关).在Windows 8上使用Windows桌面应用程序认证工具包时会出现警告.对于Windows 8桌面应用程序的每个认证要求:
必须使用/ SafeSEH标志编译您的应用程序,以确保安全的异常处理
显然Delphi缺少这个开关,所以无法完成.我的问题是:
我的理解是正确的,即使套件只显示警告(没有失败),因为这是一个"必须"的要求,今天的任何Delphi应用程序都无法通过Windows 8认证,因此无法包含在Windows应用商店中?
可以在编译后以某种方式将SafeSEH表添加到PE文件中(例如,从映射文件或调试符号中提取所需信息),或者我们绝对需要编译器/链接器支持,因此必须等到Embarcadero实现此功能?
要清除,我的应用程序是Windows 32位桌面应用程序(64位兼容),而不是Metro应用程序.
我有一个Windows桌面应用程序(WPF + c ++).
我刚刚制作了一个ClickOnce安装程序.我在Windows 7上构建它,但我想为Windows应用商店认证应用程序,因此我在Windows 8上运行Windows应用程序认证工具包.
安装程序工作正常,它安装我的应用程序并在Windows 8启动屏幕上放置一个图标.我的应用运行良好.然后我卸载它准备运行认证.
当我尝试验证它时,应用程序兼容性工具包无法安装它(一些窗口闪存打开和关闭,因此我无法读取它们,我没有经历安装程序对话框,这通常需要我的一些交互) .
然后工具包弹出一个对话框:
Windows App认证工具包未检测到因安装而导致的任何新应用程序.除非成功安装了应用程序,否则无法继续测试).
以前有一个MSI安装程序似乎与兼容工具包一起工作(应用程序失败认证,但出于合法原因).现在我无法获得兼容工具包甚至安装我的ClickOnce应用程序.我如何认证我的桌面应用程序?
编辑桌面应用程序确实可以在商店中使用.看到这个.http://msdn.microsoft.com/en-us/library/windows/desktop/hh749939.aspx
我搜索并搜索过,似乎在这里碰了一堵砖墙.我正在开发一个生成音频指纹的应用程序,以自动搜索音频数据库以获取正确的艺术家和标题,并相应地重命名文件.
我的问题是,没有支持的C#和UWP库(据我所知)可以生成声学指纹.我发现的唯一的东西是Chromaprint,它允许我运行命令,如"fpcalc.exe mymp3file.mp3> generatedfingerprint.txt",并将指纹抓取到文本文件中.
因此,当您看到抓取指纹并不是真正的问题时,问题是我无法使用传统方法(例如Winforms应用程序中使用的那些)从UWP应用程序中运行EXE文件.我也无法启动命令提示符从UWP执行文件,因此我无法从我的应用程序中生成指纹.
所以我的问题是,有没有人有任何解决方法.我知道我可以使用Powershell,因为XboxOne支持PowerShell,但是如果我使用以下代码:
using (PowerShell PowerShellInstance = PowerShell.Create())
{
PowerShellInstance.AddCommand(".\fpcalc.exe " + file.Path + " > out.txt");
}
Run Code Online (Sandbox Code Playgroud)
构建时出现以下错误:
Cannot find type System.SystemException in module CommonLanguageRuntimeLibrary
Run Code Online (Sandbox Code Playgroud)
那么有谁知道我可以做什么来从我的应用程序中启动此fpcalc.exe文件?我真的不介意应用程序是否只支持Windows PC和桌面,但最终的应用程序必须能够通过WACK并允许在Microsoft Store上(可以免费下载BTW).
在此先感谢任何帮助:)
我有一个UWP项目作为我的Xamarin.Forms解决方案的一部分.在本地运行Windows App Cert Kit时,它会毫无问题地通过.
将我的应用程序提交到商店时,它未通过认证过程,并出现以下错误:
发现错误:
支持的API测试检测到以下错误:
此应用程序类型不支持api-ms-win-core-file-l1-2-0.dll中的API FindFirstFileEx.PInvoke.Kernel32.dll调用此API.
如果没有修复影响:
使用不属于Windows SDK for Windows Store应用程序的API会违反Windows应用商店认证要求.
怎么修:
查看错误消息以识别不属于Windows SDK for Windows Store应用程序的API.请注意,在调试配置中构建的应用程序或未启用.NET Native的应用程序(如果适用)可能会使此测试失败,因为这些环境可能会引入不受支持的API.在发布配置中重新测试您的应用程序,并启用.NET Native(如果适用).
我已经验证我的应用在发布模式下运行,并验证了我的UWP构建设置:
我尝试联系微软的聊天支持,但被重定向进入事件报告,然后我被重定向到只是在论坛上寻求帮助或支付高级技术支持,所以我无法获得有关是否有任何更多信息这是一个有效的失败.
根据FindFirstFileEx(https://msdn.microsoft.com/en-us/library/windows/desktop/aa364419 ( v= vs.85 ) .aspx )上的文档,它看起来像Windows桌面支持,存储应用程序和Windows Phone.我的UWP应用程序被提交以支持桌面和移动系列,这些系列似乎包含在此功能的受支持客户端中,因此不清楚导致故障的原因.
关于从哪里去的任何想法?
我有一个应用程序,我已经创建了应用程序包并启动了Windows应用程序认证工具包.该套件无法在我的开发系统上测试应用程序.
它给了我以下错误:
App launch tests
• Error Found: The app launch test detected the following errors:?Failed to launch App.
• Impact if not fixed: An app that fails to launch presents a poor user experience, and will not be accepted by the Windows Store.
Run Code Online (Sandbox Code Playgroud) 我正在运行安装了Visual Studio 11 Beta的Windows 8 Consumer Preview.
当我创建一个新的WinRT/Metro应用,编译并运行该应用空白的应用程序认证工具包,它已经失败,因为调用的GetModuleFileNameW
,GetModuleHandleW
,LoadLibraryExW
,LoadLibraryW
和lstrlenA
.
我在整个源代码树中搜索了这些调用,但找不到它们.这使我相信它们可以在模板项目导入的库中找到.
我找不到任何声明,这是否是Visual Studio Beta,App Certification Kit的问题,或者我是否必须自己采取行动.任何人都可以开导我吗?
visual-studio windows-8 windows-runtime app-certification-kit wack
我得到一个Unhandled exception
运行Windows应用程序认证工具包,然后点击"后错误点击此处查看完整报告 "链接.这是我的应用程序的问题还是Windows应用程序认证工具包崩溃了?
错误是Class Not Registered
以下是详细信息:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ComponentModel.Win32Exception (0x80004005): Class not registered
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at System.Windows.Forms.LinkLabel.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Label.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Run Code Online (Sandbox Code Playgroud) 我正在开发一个UWP应用程序,该应用程序使用旧版Windows 10中不可用的某些功能.因此,我需要检查是否安装了Creators Update.
应用程序中有使用AnalyticsInfo.VersionInfo的版本检查代码.然而,最新一轮的WACK测试给出了以下失败:
FAILED平台版本启动•发现错误:高操作系统版本验证检测到以下错误:
o无法停止应用AppName.group.mbb.
o应用程序Company.AppName_2.3.56045.0_x64__cx08jceyq9bcp失败的平台版本启动测试.
•影响如果不修复:应用程序不应使用版本信息来提供特定于操作系统的功能.
•如何修复:请使用推荐的方法检查操作系统中的可用功能.有关详细信息,请参阅以下链接.操作系统版本
我知道这个问题,但如果可能的话,宁愿修复失败.我在MSDN上找到了关于如何在这里制作UWP应用程序"版本自适应"的建议.
我现在有这个代码:
using Windows.Foundation.Metadata;
if (ApiInformation.IsMethodPresent("Windows.Networking.Connectivity.ConnectionProfile", "GetNetworkUsageAsync"))
{
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
我的Windows版本是1703 15063.483,并且GetNetworkUsageAsync在代码中的其他位置成功使用.但是对IsMethodPresent的调用总是返回false.
我的代码出了什么问题?
是否有更好的功能来检查,知道是否安装了Creators Update?
更新:我遵循Microsoft针对上述失败的指导原则,并将版本检查从AnalyticsInfo.VersionInfo更改为Windows.Foundation.Metadata.ApiInformation.该应用程序仍然无法通过WACK测试同样的错误.
第2次更新:
将Windows10更新为Creators Update,Build 16251.0后,此错误在我的计算机上消失.
有关 MSIX 包及其清单文件的几个基本问题:
感谢您的帮助。
我是Windows应用程序开发的新手.我已经构建了一个C#app目标,Windows 10桌面和移动平台.我的C#app调用用C++编写的Windows运行时组件(c ++/cx).
我按照这个MSDN链接运行WACK测试.
我的Windows应用程序认证工具包10.0在我的机器上安装.要运行测试,我会执行验证商店应用程序 - >从计算机上已安装应用程序列表中选择我的应用程序.我的应用程序安装在发布模式下.当我运行WACK测试时,支持的API测试失败,如下所示:
API ??0Delegate@Platform@@Q$AAA@XZ in vccorlib140.dll is not supported for this application type. sample.dll calls this API.
API ??0Exception@Platform@@Q$AAA@H@Z in vccorlib140.dll is not supported for this application type. sample.dll calls this API.
API ??0NotImplementedException@Platform@@Q$AAA@XZ in vccorlib140.dll is not supported for this application type. sample.dll calls this API.
API ??0Object@Platform@@Q$AAA@XZ in vccorlib140.dll is not supported for this application type. sample.dll calls this API.
API ?AlignedFree@Heap@Details@Platform@@SAXPAX@Z in vccorlib140.dll is …
wack ×10
windows-8 ×5
c# ×2
uwp ×2
appxmanifest ×1
c++ ×1
c++-cx ×1
cordova ×1
delphi ×1
msix ×1
powershell ×1
uwp-xaml ×1
windows ×1
windows-10 ×1
xamarin ×1