0

我们有一个企业的Windows商店应用目前,我们正在使用侧面加载部署的应用针对Windows 8.1和Windows 10。我们需要能够为特定设备上的所有用户部署应用程序。如何为已部署的Windows映像上的所有用户装载Windows应用程序?

根据这个TechNet文章:

https://technet.microsoft.com/en-us/library/dn613833(v=ws.11).aspx

您可以使用DISM提供的设备上的所有用户的应用程序,但只针对用户还没有已经登录该设备上:

已配置的应用程序在图像中注入和安装的每 用户第一次用户登录。

我想要做的是为特定设备上的所有当前用户安装我们的应用,无论他们是否已经登录过该设备。

我已经做了相当多的研究,我没有发现任何东西,详细说明如何做到这一点。

这是目前可能使用Windows Store应用程序?

回答

5

我用一个计划任务,当他们登录到安装的用户应用程序解决了这个问题。下面是我的计划任务的XML - 随意此XML导入到任务调度器才能看到格式化版本:

<?xml version="1.0" encoding="UTF-16"?> 
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> 
    <RegistrationInfo> 
    <Date>2016-08-11T15:22:07.0657007</Date> 
    <Author>YourNameHere</Author> 
    <Description>This task installs and updates the app</Description> 
    <URI>\app_install_task</URI> 
    </RegistrationInfo> 
    <Triggers> 
    <LogonTrigger> 
     <Enabled>true</Enabled> 
    </LogonTrigger> 
    </Triggers> 
    <Principals> 
    <Principal id="Author"> 
     <GroupId>S-1-5-32-545</GroupId> 
     <RunLevel>HighestAvailable</RunLevel> 
    </Principal> 
    </Principals> 
    <Settings> 
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> 
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> 
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> 
    <AllowHardTerminate>true</AllowHardTerminate> 
    <StartWhenAvailable>false</StartWhenAvailable> 
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> 
    <IdleSettings> 
     <StopOnIdleEnd>true</StopOnIdleEnd> 
     <RestartOnIdle>false</RestartOnIdle> 
    </IdleSettings> 
    <AllowStartOnDemand>true</AllowStartOnDemand> 
    <Enabled>true</Enabled> 
    <Hidden>false</Hidden> 
    <RunOnlyIfIdle>false</RunOnlyIfIdle> 
    <WakeToRun>false</WakeToRun> 
    <ExecutionTimeLimit>PT1H</ExecutionTimeLimit> 
    <Priority>7</Priority> 
    </Settings> 
    <Actions> 
    <Exec> 
     <Command>C:\Windows\System32\GroupPolicy\User\Scripts\Logon\your_app_bundle\install.exe</Command> 
    </Exec> 
    </Actions> 
</Task> 

有一些额外的步骤,我不得不采取以使这种无缝尽可能:

  1. 我感动我的应用程序的安装包到C:\ WINDOWS \ SYSTEM32 \ GroupPolicy中\用户\脚本\登录\,这样它可以随时被访问的任务调度
  2. 我用的PowerGUI(可免费在线)将我的Powershell安装脚本编译为.exe,以便安装在后台运行 - 安装运行时不会弹出Powershell窗口
  3. 我还添加了一些Powershell代码来检查应用程序是否已安装,以便安装程序不会在用户每次登录时都运行 - 它只安装应用程序应用程序未安装,或者如果应用程序版本不同(这将表示应用程序需要更新)

如果有其他人遇到了更简单的方法来完成此操作,请告诉我 - 我会爱在未来简化这个过程。

+0

嗨@Eric我要实现相同的为我们的产品。你有没有更简单的版本。请回复任何形式的帮助 – Shamse

+0

我不知道。抱歉。 – Eric

相关问题