> For the complete documentation index, see [llms.txt](https://academy.shade.inc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://academy.shade.inc/shade-academy/shade-academy-zh/qi-ye-ban/deploying-the-shade-pkg-to-jamf-pro.md).

# 将 Shade PKG 部署到 Jamf Pro

本指南将引导你下载 Shade 安装包（PKG）并将其上传到 Jamf Pro，以便部署到 Mac。

{% hint style="info" %}
有关最新文档，请参阅 [Jamf Pro 的 PKG 文档](https://learn.jamf.com/r/en-US/jamf-pro-documentation-current/Viewing_the_Contents_of_an_Indexed_Package)
{% endhint %}

#### 先决条件

* 可访问 Jamf Pro，并拥有上传软件包的权限（通常为 **Jamf Pro 服务器管理员** 或可管理 Packages 的角色）。
* 一台带有可下载安装程序浏览器的 Mac。
  * 如果您正在下载 macOS 应用，Shade 建议使用 Safari 以外的浏览器。

#### 1) 下载 Shade PKG

1. 打开： <https://shade.inc/download>
2. 在 **下载 Shade**，请选择适合您 Mac 的正确版本：
   * **macOS（Apple Silicon）** 适用于 M 系列 Mac（M1、M2、M3、M4）
   * **macOS（Intel）** 适用于 Intel Mac
3. 下载安装程序文件。
4. 确认下载已完成，并且您有一个可上传的安装程序文件（例如，在 **下载**).

#### 2)（推荐）上传前验证软件包

1. 确认您下载的是正确的架构（Apple Silicon 还是 Intel）。
2. 确保文件：
   * 可在测试机上成功打开或安装。
   * 文件大小合理（没有可疑地过小）。
3. 将文件重命名为清晰且带版本号的名称（推荐），例如：
   * `Shade-Desktop-<version>.pkg`

#### 3) 将 PKG 上传到 Jamf Pro

1. 登录到 **Jamf Pro**.
2. 前往 **设置**.
3. 导航到 **Packages** 部分（有时位于 **计算机管理** 下，具体取决于您的 Jamf Pro 版本）。
4. 点击 **新建** 或 **上传** （标签会因 Jamf Pro 版本而异）。
5. 在上传表单中，选择您下载的 Shade PKG。
6. 配置关键 **软件包设置** （常见选项）：
   * **显示名称**：使用清晰的名称（例如， `Shade`).
   * **类别**：可选，但有助于组织管理（例如， `应用程序`).
   * **优先级**：除非您有多个依赖软件包，否则保持默认值。
   * **OS 要求**：如果您的环境需要，请设置最低 macOS 版本。
   * **架构**：如果 Jamf 允许指定，请与您下载的软件包保持一致（Apple Silicon 还是 Intel）。
7. 保存。
8. 等待上传完成，然后确认该软件包出现在 **Packages** 列表中。

#### 4) 确认软件包可用于部署

1. 在 Jamf Pro 中打开已上传的软件包。
2. 确认：
   * 软件包名称和详细信息看起来正确。
   * 软件包显示已成功上传（无错误）。

#### 5) 后续步骤（可选）：部署到设备

上传 PKG 后，您可以使用以下任一方式进行部署：

* **策略**：按需（Self Service）或自动（周期性检查、注册）安装 Shade。
* **PreStage 注册**：在注册流程中安装。

#### 通过 Self Service 部署（按需）

如果您希望 Shade 可在 Jamf Self Service 应用中使用，让用户选择何时安装，请使用此方法。

1. **创建新策略**：在 Jamf Pro 中，前往 **计算机** > **策略** 并点击 **新建**.
2. **常规负载**:
   * **显示名称**: `安装 Shade`
   * **触发器**：无（Self Service 策略不需要系统触发器）。
   * **执行频率**: `持续` （这允许用户在更换新机器或意外删除应用后重新安装）。
3. **软件包负载**:
   * 点击 **配置** 并找到您上传的 Shade PKG。
   * 确保操作设置为 **安装**.
4. **Self Service 负载**:
   * 点击 **Self Service** 顶部的选项卡。
   * 勾选 **使策略可在 Self Service 中使用**.
   * **Self Service 显示名称**: `Shade`
   * **按钮名称**: `安装`
   * **描述**：提供简短描述（例如，“Shade 是您的创意资源管理器...”）。
   * **图标**：上传 Shade 应用图标，以获得更专业的外观。
5. **范围**:
   * 点击 **范围** 选项卡。
   * 添加应在其 Self Service 目录中看到 Shade 的特定计算机或智能群组（例如，“所有受管客户端”）。
6. **保存**.

***

#### 通过静默安装部署（自动）

如果您希望 Shade 在后台 Mac 上自动安装且无需用户交互，请使用此方法。

1. **创建新策略**：在 Jamf Pro 中，前往 **计算机** > **策略** 并点击 **新建**.
2. **常规负载**:
   * **显示名称**: `部署 Shade - 自动`
   * **触发器**：选择 **周期性检查** （这是静默后台部署的标准触发器）。
   * **执行频率**：选择 **每台计算机一次**.
3. **软件包负载**:
   * 点击 **配置** 并找到您上传的 Shade PKG。
   * 确保操作设置为 **安装**.
4. **维护负载**:
   * 点击 **配置** 并勾选 **更新库存** 复选框。这可确保策略运行后 Jamf 立即知道该应用已安装。
5. **范围**:
   * 点击 **范围** 选项卡。
   * 添加需要 Shade 的计算机或智能群组。
   * *提示：使用一个针对当前未安装“Shade.app”的计算机的智能群组。*
6. **保存**.

***

#### 验证部署

保存策略后，您可以监控其进度：

* **日志**：在 Jamf Pro 中打开该策略，然后单击右下角的 **日志** 按钮。这将显示哪些计算机已成功安装该软件包，哪些仍在等待中。
* **库存**：在 **应用程序** 下检查单台计算机的库存记录，以确认 `Shade.app` 是否出现在列表中。

#### Shade PKG 在安装期间的作用

该 PKG 会以管理员权限运行一个安装后脚本。IT 管理员应注意，它会：

* 在安装前退出任何正在运行的 Shade 进程。
* 设置 Shade 应用内 ShadeFS 辅助程序的权限（由 root 拥有并设置 setuid 位），这是 ShadeFS 挂载驱动器所需的。
* 添加一个 `fuse-t` 指向本地机器（127.0.0.1）的条目到 macOS hosts 文件中，如果该条目尚不存在。内置的 FUSE-T 挂载后端需要此条目。
* 从 `storage.googleapis.com` 下载 ShadeFS XPC 服务，并将其注册为 LaunchAgent（`inc.shade.xpc`）供已登录用户使用。 **这需要在安装时具有网络访问权限。** 如果下载失败，安装仍会完成，但 Shade Finder 扩展将无法工作。
* 注册并启用 Shade Finder 扩展。
* 移除旧版 PKG 安装的任何 Shade Premiere Pro 面板副本。该面板现在通过 Adobe Exchange 分发。

#### 在受管 Mac 上更新 Shade

在 macOS 上，应用内更新会下载新的 PKG 并在 macOS 安装程序中打开，因此执行更新安装的人需要管理员权限。如果您的用户没有管理员权限，请计划通过 Jamf 部署新版本的 Shade。

#### 故障排除提示

* **架构不匹配**：如果静默安装失败，请确认您没有将 Intel PKG 部署到 Apple Silicon（M1/M2/M3）Mac 上。
* **File Vault**：如果您在注册（PreStage）期间部署，请确保未选择“Fill User Template”或“At Restart”选项，因为 Shade 应正常安装到 `/Applications` 文件夹中。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://academy.shade.inc/shade-academy/shade-academy-zh/qi-ye-ban/deploying-the-shade-pkg-to-jamf-pro.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
