Windows store apps 如何在已部署的Windows映像上为所有用户侧向加载Windows应用程序?

Windows store apps 如何在已部署的Windows映像上为所有用户侧向加载Windows应用程序?,windows-store-apps,windows-8.1,windows-applications,sideloading,dism,Windows Store Apps,Windows 8.1,Windows Applications,Sideloading,Dism,我们有一个针对Windows 8.1和Windows 10的企业Windows应用商店应用程序。我们目前正在使用侧加载来部署应用程序。我们需要能够为特定设备上的所有用户部署应用程序 根据technet的这篇文章: 您可以使用DISM为设备上的所有用户配置应用程序,但仅限于尚未登录该设备的用户: 配置的应用程序将注入映像中,并针对每个应用程序安装 用户首次登录时的用户 我想做的是为特定设备上的所有当前用户安装我们的应用程序,不管他们以前是否登录过该设备 我已经做了很多研究,但还没有发现任何关于如

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

根据technet的这篇文章:

您可以使用DISM为设备上的所有用户配置应用程序,但仅限于尚未登录该设备的用户:

配置的应用程序将注入映像中,并针对每个应用程序安装 用户首次登录时的用户

我想做的是为特定设备上的所有当前用户安装我们的应用程序,不管他们以前是否登录过该设备

我已经做了很多研究,但还没有发现任何关于如何实现这一点的细节


Windows应用商店应用程序当前是否可以做到这一点?

我通过使用计划任务在用户登录时为其安装应用程序来解决此问题。以下是我的计划任务的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>

2016-08-11T15:22:07.0657007
你的名字在这里
此任务安装并更新应用程序
\应用程序安装任务
真的
S-1-5-32-545
高可用性
无知的新
假的
真的
真的
假的
假的
真的
假的
真的
真的
假的
假的
假的
PT1H
7.
C:\Windows\System32\GroupPolicy\User\Scripts\Logon\your\u app\u bundle\install.exe
为了尽可能无缝,我还必须采取一些额外的步骤:

  • 我将应用程序的安装包移动到C:\Windows\System32\GroupPolicy\User\Scripts\Logon\以便任务计划程序始终可以访问它
  • 我使用PowerGUI(在线免费提供)将Powershell安装脚本编译为.exe,以便在后台运行安装-安装运行时不会弹出Powershell窗口
  • 我还添加了一些Powershell代码来检查应用程序是否已安装,这样安装程序就不会在用户每次登录时都运行-它只在应用程序未安装或应用程序版本不同时安装应用程序(这表示应用程序需要更新)

  • 如果其他人遇到更简单的方法来实现这一点,请让我知道–我希望将来简化这一过程。

    Hi@Eric我必须为我们的产品实现同样的方法。你有更简单的版本吗。请回复任何形式的帮助将被告知我不。抱歉,这是一个很好的解决方案,但需要很多努力和步骤才能实现。我们还可以通过powershell启用/禁用任务,以便在企业环境中使用SCCM,但这是最佳实践选项吗?