# Camera share setup pack (NW400 / NW500)

Double-click scripts for setting up a site PC (NUC) so a Topcon retina camera in
standalone mode can drop images into ImageAnywhere's inbox over a direct Ethernet
cable. Built for TeamViewer sessions: no pasting, no typing commands — just
double-clicks.

**Getting the pack onto the site PC** (no more hand-copying files):

- New machines: it's already inside the field setup ZIP from
  https://get-ia.unifiedimaging.ai — look for the `camera-share-scripts` folder
  in the extracted setup folder.
- Any machine: download the latest pack directly in a browser:
  https://get-ia.unifiedimaging.ai/iauwp/pilot/latest/support/camera-share-scripts.zip
  then right-click → Extract All. (`PACK-VERSION.txt` inside says which version you have.)
- After changing these scripts, republish with
  `Documentation\validation\tools\StoreRelease\Publish-CameraShareScriptsPack.ps1`
  (needs `az login`; it live-verifies the download before reporting success).

## The three-step install

The files are numbered in run order — just double-click them top to bottom (each one
raises its own admin prompt when it needs it; click Yes).

| Run | What it does | When |
|---|---|---|
| `1-Setup-Inbox.cmd` | Creates `C:\unified_imaging\inbox` and allows the app's File system permission so ImageAnywhere adopts the inbox by itself at next launch (app versions after 1.9.302.5; older versions get the picker card instead). | **Every** install |
| `2-Setup-CameraShare-Preview.cmd` | Shows exactly what step 3 would change. Changes nothing. | Camera sites |
| `3-Setup-CameraShare-Apply.cmd` | Full camera link: finds the camera port, fixes addressing, camera sign-in user, shared folder + permissions, firewall, SMB signing (24H2), then **tests the share end-to-end as the camera user** and prints the card to type into the camera. | Camera sites |

Everything is safe to re-run — existing users, shares, and addresses are kept, never
replaced.

## Standards (go-forward)

- **Addressing:** PC = `10.1.1.2`, camera = `10.1.1.1`, mask `255.255.255.0`, gateway
  blank. A port that already has a fixed IP keeps it (the script adapts either
  orientation — Baton Rouge runs inverted and stays that way).
- **Camera sign-in:** local user `unified` (prompted; answer with whatever an
  already-configured camera uses — e.g. Baton Rouge uses `nw500`).
- **Share name / inbox subfolder:** the camera model (`nw500`, `nw400`), under
  `C:\unified_imaging\inbox\`.

## Known gotchas the scripts handle

- Gatewayless links get classified **Public**, which blocks file sharing → marked Private.
- Windows 11 **24H2 requires SMB signing**; camera firmwares can't sign → requirement off.
- Cameras can't use guest access on modern Windows → real local user, password never expires.
- Stray leftover IPs on the camera port break the link → removed.
- Camera folder fields are **locked until "Save Shared Folder" is ON** in the camera menu.
- Always give the camera the **IP, never the computer name**.
- Camera doesn't answer pings when idle → `arp -a` is the fallback truth for "is it on the wire".

## The in-app inbox pick — now automatic on current app versions

App versions after 1.9.302.5 adopt `C:\unified_imaging\inbox` on their own at launch
when no inbox is set yet: `1-Setup-Inbox.cmd` pre-allows the app's File system
permission (Settings > Privacy & security > File system) and the app does the rest.
On older app versions — or if that permission gets blocked by policy — the app falls
back to exactly the old behavior, and the script prints the picker clicks. Existing
installs that already have an inbox chosen are never changed.

Note: the permission is per Windows user. Run `1-Setup-Inbox.cmd` as the account
that actually uses ImageAnywhere (its permission step runs before the admin prompt,
in that account's own settings).
