# Create a Company App

> Upload your own installer, set its installation options and PowerBricks, and make it ready to assign to Windows endpoints.

Source: https://docs.capaone.com/capaone/application-manager/create-a-company-app/  
Product: CapaOne — a separate CapaSystems product; do not apply this page to any other.

A Company App is an application you upload yourself, for example an in-house application or
licensed software that isn't in the Repository Apps catalog. In the product it's called a
**Custom Application**. This page shows you how to create one.

:::note[Before you start]
Company Apps require Application Manager. Check the Repository Apps catalog first: if the
application is there, a Repository App is less work to maintain. See
[Repository Apps](/capaone/application-manager/repository-apps/).
:::

## Upload the installer

1. Go to **Windows → Applications** and select the **Company Apps** tab.
2. Click **New**. If you're asked for an application type, select **Custom Application**.
3. Under **Source Files**, select one of:
   - **Installation file** — an `.msi`, `.exe`, `.msix`, or `.msu` file.
   - **Directory** — a folder with the installer and any files it needs.
   - **ZIP file** — a `.zip` file with the installer and any files it needs.

![New Custom Application form with Import custom app and Source Files: Installation file, Directory or ZIP file](/attachments/capaone/create-a-company-app--source-files.png)
4. If you uploaded a folder or ZIP file, select the installation file in it. Select
   **Select no Installation File** if the app has no installer, for example when it only copies
   files with PowerBricks.

CapaOne uploads the files. Keep the browser tab open until the upload is done. The upload
progress is also shown in the top bar.

The maximum total size of an upload is shown under **Source Files**. The app name can't contain
the characters `'`, `"`, `$`, `` ` ``, `/`, or `\`. CapaOne takes the name from the installer
file or folder, so rename the file or folder before you upload it if its name contains any of
these characters. Uploaded files are scanned for malicious code. If the scan finds malicious code
or locked files that can't be scanned, the upload is deleted.

### Import an exported app

If a Company App was exported with **Export for CapaOne**, you can create a new app from the
export. On the **New** page, select **Import custom app** instead of uploading source files, and
select the exported `.zip` file. CapaOne uploads the file and creates the app from it.

## Set the installation options

When the upload is done, the **Installation options** dialog asks for the command-line options for
the installer. CapaOne suggests options for common installer types. For example, for an MSI file
it suggests `/qn REBOOT=ReallySuppress ALLUSERS=1`.

Refer to the application's documentation for its installation options. For EXE installers, you can
often list the supported options by running the setup file with `/?` in a command prompt.

The options are copied to the parameters of the install PowerBrick, and you can change them later
in the PowerBricks Editor. MSIX and MSU files don't take installation options.

## Fill in the app details

| Field | Description |
|---|---|
| **Name** | Required. |
| **Version** | Required, for example `2023.006.20380`. |
| **PowerBricks** | The steps that install and uninstall the app. Click **Open PowerBrick Editor**. See [PowerBricks](#powerbricks). |
| **Description** and **Icon** | Optional. |
| **Installation Tier** | When the app installs relative to other apps. **Standard** by default. See [Installation Tiers](/capaone/application-manager/installation-tiers/). |
| **Architecture** | **32-bit**, **64-bit**, or **Auto**. |
| **Language** | **Danish**, **English**, or **System language**. |
| **Release status** | **Testing**, **Released**, or **Retired**. See [Release status](/capaone/application-manager/company-apps-and-scripts/#release-status-workflow). |

Click **Create**. The **Create** button stays unavailable until the app has source files, a **Name**,
and a **Version**. Hover over it to see which fields are missing.

When you save the app with its **Release status** changed to **Released**, CapaOne asks whether
you want to copy the assignment from another app. Select yes to reuse the endpoints and groups of
an existing app, for example an earlier version.

If you cancel while you're creating the app for the first time, the draft app is deleted.

## PowerBricks

PowerBricks are ready-made steps, such as installing an MSI file, setting a registry value, or
creating a shortcut, that you combine into the install and uninstall logic of the app. See
[PowerBricks](/capaone/application-manager/powerbricks/) for the full list.

In the **PowerBricks Editor**:

1. Search for a brick, or browse the categories.
2. Add bricks to the **Install** or **Uninstall** tab of the **Execution Sequence**. Drag them into
   the order you want. The bricks run in the order they're listed.
3. Open each brick to fill in its parameters, and click **Apply changes**. A warning icon shows if
   a required parameter is missing.
4. Click **Close**, and then save the app.

To reuse a brick with its settings, open the brick's menu and select **Save as Preset**. Your
presets are under **My Presets**. When a newer version of a brick is available, the brick shows a
notice and you can select **Upgrade** in its menu.

Add an uninstall sequence as well, so the app can be uninstalled from CapaOne.

## Change the files later

Open the app, select **Edit**, and use **Modify Content** under **Source Files** to add, replace,
or remove files. All existing files are replaced when you replace the content and save.

## Other actions

Open the app's menu on the **Company Apps** tab for more actions:

- **Duplicate** — create a copy of the app, for example to prepare a new version.
- **Copy assignment from...** — copy the endpoints and groups from another app.
- **View content** — see the files in the app.
- **Export for CapaInstaller** — download the app as a package for CapaInstaller.
- **Export for CapaOne** — download the app as a `.zip` file that you can import again to
  create a new app. See [Import an exported app](#import-an-exported-app).
- **Intune** — upload the app to Microsoft Intune. See
  [Upload a Company App to Intune](/capaone/application-manager/upload-a-company-app-to-intune/).

## Next steps

Assign the app to endpoints or groups. See
[Assign and Redeploy Windows Applications](/capaone/application-manager/assign-and-redeploy-windows-applications/).
