我们正在修复重新构建应用程序,并且正在讨论是否可以使用UWP而不是普通的WPF应用程序.
我们的应用程序需要能够访问整个文件系统和所有系统资源.这是一个问题,因为UWP应用程序是沙箱.但是,我们试图通过尝试以这种方式处理它来绕过该问题:
Windows服务 - >始终在系统上运行.这将在访问和修改系统资源时承载核心功能.
UWP应用程序 - >由于UWP是沙盒,UWP应用程序会将所有系统请求转发到Windows服务,这将完成所有主要工作并返回输出.
我们可以简单地在WPF中执行此操作,但我们希望使用UWP以利用WPF缺少的一些新的Windows 10核心功能,例如live tiles和Cortana.
你认为我们的方法是否可行?我们的一个不确定因素是我们如何让UWP应用程序与Windows服务进行通信 - 我们已经研究过SignalR和Desktop Bridge这样的东西,但不确定哪种方法可能是我们方案的最佳方法.
谢谢!
我正在尝试为 Windows 应用商店认证我的 UWP 应用程序,但我收到一条消息,指出uwphost.dll中的几种方法与应用商店不兼容。
API ExecuteAssembly in uwphost.dll is not supported for this application type. GammaFour.InvestmentManagement.Client.exe calls this API.
API DllGetActivationFactory in uwphost.dll is not supported for this application type. GammaFour.InvestmentManagement.Client.exe has an export that forwards to this API.
Run Code Online (Sandbox Code Playgroud)
这令人不安,因为我没有明确添加这个库,也不知道如何解决这个问题。有任何想法吗?
我需要解析Bezier Path Strings,但显然System.Windows.Media.Geometry.Net CF框架中的版本没有Parse()正常对应的方法.但是,输入以下XAML确实有效,因此系统必须有一种解析Path Data String的方法.
<Path Stroke="Blue" Data="M 0 0 Q 10 10 20 0"/>
有关如何使用XAML外部的自定义字符串启动此解析的任何线索?
我当然也可以尝试使用正则表达式来编写我自己的解析器,但我不想自己处理它,因为框架显然能够实现它.
更新
当使用建议的XAMLReader时,当我将StrokeThickness设置为新创建时,我得到一个奇怪的异常Path:
path.StrokeThickness = strokeWidth; //ArgumentException ??? (strokeWidth = 6)
Run Code Online (Sandbox Code Playgroud)
当我使用我的手动解析器更改代码路径以进行渲染时,一切正常.我在这里错过了什么吗?除解析器外没有任何变化.
手动生成数据:
//"M {0} {1} Q {2} {3} {4} {5}"
String regex_input = @"M (\d+) (\d+) Q (\d+) (\d+) (\d+) (\d+)";
Regex regex = new Regex(regex_input);
Match match = regex.Match(pathData);
int startx = int.Parse(match.Groups[1].Value);
int starty = int.Parse(match.Groups[2].Value);
int controlx = int.Parse(match.Groups[3].Value);
int controly = int.Parse(match.Groups[4].Value); …Run Code Online (Sandbox Code Playgroud) 我一直在阅读项目百年纪念(https://msdn.microsoft.com/windows/uwp/porting/desktop-to-uwp-root#preparing-your-desktop-app-for-conversion-to-uwp),以及在我看来,有许多用Java编写的传统业务线应用程序(更不用说Python/Tkinter,在这里插入语言/ gui工具包等).
我可以看到通过Windows商店(内部为企业或公众)销售/分发这些产品的好处.
我想知道是否可以将Java应用程序转换为AppX包(可能使用像launch4j这样的中间步骤)?
我有一个大型的 win32 程序,其中包含本机和托管代码的混合。我想将它放入一个 .Appx 文件中,以便在 Windows 10 上进行简单安装。我不想将它放在 Windows 应用商店中 - 我只想用 .Appx 文件替换旧的安装程序。
使用DesktopAppConverter,我已将程序转换为 .Appx。我的问题是 DesktopAppConverter 添加了对“Microsoft.VCLibs.140.00.UWPDesktop”的依赖,这意味着我必须分发我的 .appx 和 Microsoft.VCLibs.x64.14.00.Desktop.appx。所以用户不能再只点击我的 .appx 文件,而是必须从 PowerShell 运行它:
Add-AppxPackage .\MyApp.appx -DependencyPath .\Microsoft.VCLibs.x64.14.00.Desktop.appx
有没有办法可以将依赖项“合并”到单个 .appx 中,用户只需双击即可安装?
appx windows-10-universal desktop-app-converter desktop-bridge
UWP应用程序是否可以使用任意命令行参数启动其桌面桥(完全信任的应用程序组件)?我看到了指定"参数组"的功能(请参阅https://docs.microsoft.com/en-us/uwp/api/Windows.ApplicationModel.FullTrustProcessLauncher),但它看起来只支持使用预定义ParameterGroup.我需要以编程方式确定(在启动时)任意命令行参数来启动UWP.这是可能的,如果是的话,怎么样?
command-line-arguments windows-10 uwp windows-10-universal desktop-bridge
如何为UWP应用程序创建安装程序安装程序。对于桌面应用程序。请指教
win-universal-app windows-10 uwp windows-10-universal desktop-bridge
考虑以下示例:https : //github.com/StefanWickDev/UWP-FullTrust/tree/master/UWP_FullTrust_3
UWP 应用在创建 AppService 时,会观察相关的任务取消,以检测 AppService 的关闭。AppService 在以下情况下关闭:
我想要实现的逻辑是,如果由于完全信任进程消失(例如崩溃)而导致连接断开,则重新启动完全信任进程,但如果 UWP 应用程序将暂停,则避免重新启动。我还没有找到一种可靠的方法来做到这一点。
在 App.OnTaskCanceled 中,参数中没有任何内容可以指示导致关闭的原因(两种情况下都是 SystemPolicy)。那时 App.IsSuspending 是假的。App.Suspending 事件总是在 App.OnTaskCanceled 被触发后发生。
我可以启动一个计时器并延迟重启,相信 App.Suspending 在一个时间窗口中被触发,但我更愿意使用一种不太复杂的方式。
顺便说一句,如果 AppServiceConnection 处于打开状态,我不清楚是否可以暂停 UWP 应用程序。至少 VS 允许我使用生命周期控件触发挂起/恢复,并且 UWP 应用程序的挂起/恢复被触发。
桌面桥 UWP 应用程序的暂停/恢复行为似乎没有记录,所以我基本上是在尝试反向工程这是如何工作的......
我试图按照Microsoft的“百年纪念项目”指示将我的应用程序的MSI安装程序转换为UWP,但遇到此错误MakeAppx.exe:
这个Windows 10不是我的开发机器。所以我出去下载Windows 10 SDK,但是现在我很好奇SDK的“一部分” MakeAppx.exe位于什么位置?还是真的需要为此下载并安装2.3 GB?
我已经将C++/Win32应用程序打包为appx,它运行正常.但是,由于某些路径不可用,我必须以某种方式确定应用程序是否作为打包的UWP应用程序运行并进行调整.
是否有一个简单的运行时检查可以确定您是否作为打包的UWP应用程序运行?
uwp ×8
windows-10 ×4
winapi ×2
.net-native ×1
appx ×1
bezier ×1
c# ×1
c++ ×1
java ×1
signalr ×1
silverlight ×1
swing ×1
xaml ×1