PowerShell将Windows store应用程序安装为开发者模式
原文: PowerShell将Windows store应用程序安装为开发者模式
在本地部署Windows 商店应用程序时,我们会遇到Add-AppDevPackage.ps1脚本,这个脚本和所在安装包都是visual studio 生成的。应用程序安装完毕后为:非开发者模式。我们可以用PowerShell简单验证下:
PS C:\WINDOWS\system32> Get-AppxPackage -Name -99a4-4d0d-af2d-e3465acd3c20 Name : -99a4-4d0d-af2d-e3465acd3c20
Publisher : CN=lay
Architecture : X86
ResourceId :
Version : 1.0.5.0
PackageFullName : -99a4-4d0d-af2d-e3465acd3c20_1.0.5.0_x86__r60hmjdgart72
InstallLocation : C:\Program Files\WindowsApps\-99a4-4d0d-af2d-e3465acd3c20_1.0.5.0_x86__r60hmjdgart72
IsFramework : False
PackageFamilyName : -99a4-4d0d-af2d-e3465acd3c20_r60hmjdgart72
PublisherId : r60hmjdgart72
IsResourcePackage : False
IsBundle : False
IsDevelopmentMode : False
Dependencies : {Microsoft.NET.CoreRuntime..1_1.1.25305.1_x86__8wekyb3d8bbwe, Microsoft.VCLibs.140.00.Debug_14.0.2
.0_x86__8wekyb3d8bbwe}
IsPartiallyStaged : False
但是我们在visual studio 中直接通过F5调试应用程序时,App会被安装在debug目录下面的某个appx目录,并且安装方式为开发者模式。
PS C:\WINDOWS\system32> Get-AppxPackage -Name -99a4-4d0d-af2d-e3465acd3c20 Name : -99a4-4d0d-af2d-e3465acd3c20
Publisher : CN=lay
Architecture : X86
ResourceId :
Version : 1.0.5.0
PackageFullName : -99a4-4d0d-af2d-e3465acd3c20_1.0.5.0_x86__r60hmjdgart72
InstallLocation : C:\Users\lay\source\repos\App2\App2\bin\x86\Debug\AppX
IsFramework : False
PackageFamilyName : -99a4-4d0d-af2d-e3465acd3c20_r60hmjdgart72
PublisherId : r60hmjdgart72
IsResourcePackage : False
IsBundle : False
IsDevelopmentMode : True
Dependencies : {Microsoft.NET.CoreRuntime..1_1.1.25305.1_x86__8wekyb3d8bbwe, Microsoft.VCLibs.140.00.Debug_14.0.2
.0_x86__8wekyb3d8bbwe}
IsPartiallyStaged : False
那如何指定开发者模式和非开发者模式呢?关键在于Add-AppxPackage的参数使用。比如下面这个方式会安装为非法者模式,Add-AppDevPackage.ps1使用的就是这种方式。
Add-AppxPackage -Path $DeveloperPackagePath.FullName -ForceApplicationShutdown
另一种安装为开发者模式的方式为:
$manifestFile = "$packagePath\AppxManifest.xml"
Add-AppxPackage -Register $manifestFile -ForceApplicationShutdown
而且使用注册的方式,文件夹的结构必须类似:
appx目录结构
那如果别人给了我们一个visual studio 生成的标准的安装包呢,形如:
windows 商店应用程序安装包
我们想把这个包安装在开发者模式下, 应当怎么做呢?
Add-AppDevPackage.ps1肯定不行的。如果我们有一个appx目录就可以使用-register参数来调用Add-AppxPackage了。能把标准的安装包转换成appx目录吗?
HubApp.Windows_1.0.0.2_AnyCPU_Debug.appx文件其实就是一个zip包,我们只需将它重命名为zip后缀名,里面即为appx目录。而且有的安装包可能包含了一个后缀名为appxbundle的文件,它也是一个zip包,里面也会包含一个appx包。
如果使用PowerShell将这种Windows store应用程序的标准安装包安装在开发者模式下,只需3步:
- 在脚本所在的目录下查找appxbundle文件
- 解压 appx 文件,将包内容复制到APPData目录下
- 调用Add-AppxPackage将app安装包安装在开发者模式下
当然交付给最终用户部署时,我们还得考虑用户是否是以管理员权限运行,用户的机器上有没有有效的微软开发者许可证,如果没有引导它获取一个。整个一个流程自动化下来,也得百来十行code。我分享一个自己针对某特定app安装包写的定制版安装脚本:Install-AppPackage.ps1
PowerShell将Windows store应用程序安装为开发者模式的更多相关文章
- Unity3D开发Windows Store应用程序 注意事项
原地址:http://blog.csdn.net/jbjwpzyl3611421/article/details/12704491 针对最近在移植window store项目中遇到的问题,我整理了官方 ...
- Windows Store可以下载安装Windows Terminal (Preview)
Windows Terminal (Preview)已经可以在Windows Store下载安装. Windows Terminal (Preview)运行要求为: Windows 10 版本 183 ...
- 安装、部署... Windows服务 .net程序 安装 命令
@echo offInstallutil.exe 程序目录 F:\test\TestWindows.exe 服务程序目录@sc start "服务名称"@sc config &qu ...
- Windows桌面.exe程序安装、卸载、升级测试用例
一.安装 1) 系统:XP.win 7.win 8.win 10 2)安全类型软件:360杀毒.360安全卫士.金山毒霸.百度杀毒.腾讯电脑管家等. 3)同类型软件兼容 4)用户名称:中文用户.英文用 ...
- Unity干中学——如何实现类似Windows Store 应用程序和Android Toast的通知?
要实现通知中心功能,首先要创建一个游戏物体,在上面挂载GUITeture和GUIText脚本.注意GUITexture和GUIText脚本的顺序,GUITexture在前,GUIText在后,否则GU ...
- Windows下的Hadoop安装(本地模式)
时隔许久的博客.. 系统为Windows 10,Hadoop版本2.8.3. 虽然之前已经在Linux虚拟机上成功运行了Hadoop,但我还是在Windows上编码更加习惯,所以尝试了在Window上 ...
- 适用于Windows桌面应用程序的.NET Core 3
介绍 9月,微软发布了新版.NET Core,用于构建Windows桌面应用程序,包括WPF和Windows Forms.从那时起开发人员可以将传统的nfx桌面应用程序(和控件库)迁移到.NET Co ...
- Windows Store App 应用程序安装目录
前面介绍了如何对本地应用存储空间中的文件以及文件夹进行操作,在应用中除了可以对本地应用存储空间进行操作之外,还可以对应用程序安装目录进行相关操作.本节将通过一个示例,详细讲解如何对应用程序安装目录中的 ...
- Scoop - 在Windows命令行上进行程序安装
2019-01-28 22:49:21 资料来源自Scoop官方网站以及github上的帮助文档 如果有疑惑或者觉得文章有错误请留言以帮助改正 补充内容(2019-04-09 21:11:36):不 ...
随机推荐
- 《图说VR》——HTC Vive控制器按键事件解耦使用
本文章由cartzhang编写,转载请注明出处. 全部权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/53915229 作者:car ...
- 如何快糙好猛的使用libfacedetection库【最新版】
前言 最近已经很少看CSDN了.这一年多准备考研,基本上怕是不会再怎么上了.以前有一个http://blog.csdn.net/mr_curry/article/details/51804072 如何 ...
- spring security之httpSecurity 专题
37.5.2 Resolving the CsrfToken Spring Security provides CsrfTokenArgumentResolver which can automati ...
- java基础——try catch final
1.不管有木有出现异常,finally块中代码都会执行: 2.当try和catch中有return时,finally仍然会执行: 3.finally是在return后面的表达式运算后执行的(此时并没有 ...
- 【26.67%】【codeforces 596C】Wilbur and Points
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- Excel创button宏调用
今天,匆匆写了一个宏,但发现已被用来创建button开发工具菜单不见了. 在十分钟找Excel转了个遍,终究Excel通常使用在中的选项,首先Mark下一个,离开同样找不到鞋. 几个截面图.促进突然, ...
- android网络开源框架volley(五岁以下儿童)——volley一些细节
最近的一次volley整理出下一个.我以前没有再次遭遇了一些小问题,在该记录: 1.HttpUrlConnection DELETE 信息不能加入body问题:java.net.ProtocolExc ...
- Jconsole使用实例解说
Jconsole是jdk自带的一套java虚拟机执行状况监视器,它能够用来监控虚拟机的内存,线程,cpu使用情况以及相关的java进程相关的MBean,主界面例如以下: 图1 怎样连接被监控的Java ...
- matlab 警告(warning)、错误(error)、异常(exception)与断言(assert)
0. 消息标识符(Message Identifiers) 消息标识符,是附加在 error 和 warning 语句上的一个标签,以被 matlab 做唯一性标识. warning 语句所支持的函数 ...
- requireJS简单的学习门户网站
总结 requireJS.这翻译成中国"必须js".说白了就是装js文件与.如何装好了?.这是继AMD标准化的模块化装.除了AMD另一种规范称为CMD规范.跟随CMD兼容模块加载. ...