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):不 ...
随机推荐
- 菜鸟学习Spring——60s利用JoinPoint获取參数的值和方法名称
一.概述 AOP的实现方法在上两篇博客中已经用了两种方法来实现如今的问题来了尽管我们利用AOP,那么client怎样信息传递?利用JoinPoint接口来实现client给详细实现类的传递參数. 二. ...
- TensorFlow 学习(六) —— TensorFlow 与 numpy 的交互
1. 将 numpy 下的多维数组(ndarray)转化为 tensor a = np.zeros((3, 3)) ta = tf.convert_to_tensor(a) with tf.Sessi ...
- 原生H5页面模拟APP左侧滑动删除效果
话不多说,往左侧滑动,显示删除,我们先来看一下效果图:如下: 这个布局我就不多说,反正就是一行ul,li, class名“item” js代码如下: $(".item").on(& ...
- quick cocos2dx lua 网络图片 下载 自己主动更新
转载请注明,原文地址:http://blog.csdn.net/dd135373/article/details/46468505 quick coocs2d-x 网络图片下载,自己主动更新纹理,保存 ...
- 浏览器兼容性之ECMAScript
1 IE中不能操作TR标签的innnerHTML. 2 日期处理函数不一致. (1)IE 8- new Date().getYear()返回的是到当前日期到1900年的差值,FF返回的是当前的年. ( ...
- android module 模块共用远程包
在项目有多模块,需要使用到同一个第三方包时,引入报错,个人解决方法如下 1. 在模块build.gradle 文件中配置maven远程地址 可从app下的build.gradle文件里复制 allpr ...
- uow Unit of work
通过学习圣杰的文章 UnitOfWork知多少 知道uow其实就是为了解决 一次提交所有更改 1.ef本身可以具备这样一个功能,但是我们在写仓储的实现的时候 经常会直接显式saveChanges了 ...
- 右键计算机->属性->高级系统设置->高级->环境变量,添加环境变量(推荐)
(1)右键计算机->属性->高级系统设置->高级->环境变量,添加环境变量(推荐) QTDIR:D:\Software\Qt\Qt5.2.0\5.2.0\msvc2010_op ...
- 深入理解最强桌面地图控件GMAP.NET --- 街景地图(StreetView)
原文:深入理解最强桌面地图控件GMAP.NET --- 街景地图(StreetView) 很久没有更新博客了,今天无事把GMAP.NET的代码又重新翻了翻,看到了街景地图的例子. 街景地图是谷歌最早提 ...
- WPF内实现与串口发送数据和接收数据
原文:WPF内实现与串口发送数据和接收数据 与串口发送数据和接收数据,在此作一个简单的Demo.此Demo可以实现按下硬件按钮,灯亮,发送灯状态数据过来.并且可以实现几个灯同时亮,发送灯的状态数据过来 ...