---
title: Autorun Files
slug: develop/autorun-files
docTags: 
createdAt: 2025-03-11T07:00:15.332Z
---

As was covered, player provisioning consists of applying a Setup File to the player which includes the installation of a Player App. The Player App must contain an *autorun.brs* file which, as an example, may instruct the player to display a specific .html file, either local on the player or on an external website. Alternatively, the autorun may instruct the player to check a particular URL for updated presentations and/or content and, if new files are available, download them and play them.

There are three autorun-related files:

- autorun.brs (may also be referred to as “the autorun” or “autorun file”)
- autorun.zip
- autozip.brs

These have similar-sounding names, but each term has a different function so it’s important to not conflate the terms.

Upon bootup, the player searches for certain files. The player’s search follows a prescribed sequence as shown below.

![](https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/Sqxzz6ol81F664gD-A3qu_image-20230413-155338.png)

Players will search for storage devices in a [predefined order](docId\:o4YzospNpFaGbgLdUleee).

1. The player first looks for an *autorun.brs* file in the root directory of the first storage device it encounters.
   - If found, *autorun.brs* is executed.
2. If an *autorun.brs* file is not found, the player looks for an *autorun.zip* file in the same root directory.
   - If an *autorun.zip* file is found and it also contains within it an *autozip.brs* file, the player will unzip the *autorun.zip* file, in the process overwriting any existing files on the storage device.
   - The player will then reboot.
3. If these files are not found on the first storage device, the player will repeat these steps on the next storage device, if available.

If an *autorun.zip* is not found on any of the storage devices, the player will query the BSN.Cloud provisioning service to see if the player has previously been provisioned with BSN.Cloud.

Both *autorun.brs* and *autozip.brs* must be written in BrightScript and be given the specific filenames indicated.

Additional information about these files can be found [here](docId:1Dr98_7Il7GYneOwnX2cr).

Below are sample *autorun.brs* and *autozip.brs* files for reference.

## Sample autorun.brs

:::ExpandableHeading
This autorun.brs file instructs the player to display a local HTML file, specifically, index.html:

```text
Sub Main()
    'Create the BrightSign event handler.
    msgPort = CreateObject("roMessagePort")
    
    'Define the screen viewing area.
    r = CreateObject("roRectangle", 0, 0, 1920, 1080)
  
    'Set the URL where the presentation resides. This can be either local or external.
    config = {
      url: "file:///index.html",
    }

    'Create an HTML event since our presentation is an HTML file.
    h = CreateObject("roHtmlWidget", r, config)
    h.SetPort(msgPort)
    sleep(10000)
    h.Show()

    'Event loop to ensure that the script runs indefinitely
    while true
        msg = wait(0, msgPort)
        print "type(msg)=";type(msg)
        if type(msg) = "roHtmlWidgetEvent" then
            eventData = msg.GetData()
            if type(eventData) = "roAssociativeArray" and type(eventData.reason) = "roString" then
                print "reason = ";eventData.reason
                if eventData.reason = "load-error" then
                    print "message = ";eventData.message
                endif
            endif
        endif
    end while

End Sub
```


:::

## Sample autozip.brs

A sample autozip.brs file can be downloaded here:

::File{src="https://api.archbee.com/api/presign/0prk6SO2dy9LdU77jB8D1/nCBH3P_SrRdBK0Cpx59zC_autozip.brs" label="autozip.brs" isUploading="false"}

[Next - Content Sources >](docId\:R6JuRCcPBpTLMjPKKKaj6)
