Forum Discussion

SCTR's avatar
SCTR
Visitor
14 years ago

Install Failure: No manifest. Invalid package.

Just got our Roku 2 XS today and I'm trying to do the most simple "Hello World" app as found in DeveloperGuide_v41.pdf section 7.4.

Which BTW, says nothing about requiring these in the manifest nor what sizes they need to be! *sigh*

mm_icon_focus_hd=pkg:/images/mm_icon_focus_hd.png
mm_icon_side_hd=pkg:/images/mm_icon_side_hd.png
mm_icon_focus_sd=pkg:/images/mm_icon_focus_sd.png
mm_icon_side_sd=pkg:/images/mm_icon_side_sd.png

Thankfully someone posted the sizes here.

Anyways, I'm using Eclipse Indigo and the Brightscript plugin. I have my project


C:\Roku\RokuSDK_v41\examples\source\helloworld>ls -lRa
total 3
drwxrwxrwx 1 user group 0 Mar 26 17:25 .
drwxrwxrwx 1 user group 0 Mar 26 18:51 ..
-rw-rw-rw- 1 user group 199 Mar 26 17:25 .buildpath
-rw-rw-rw- 1 user group 559 Mar 26 17:25 .project
drwxrwxrwx 1 user group 0 Mar 26 18:28 images
-rw-rw-rw- 1 user group 326 Mar 26 18:28 manifest
drwxrwxrwx 1 user group 0 Mar 26 17:25 out
drwxrwxrwx 1 user group 0 Mar 26 17:14 source

images:
total 32
drwxrwxrwx 1 user group 0 Mar 26 18:28 .
drwxrwxrwx 1 user group 0 Mar 26 17:25 ..
-rw-rw-rw- 1 user group 14074 Mar 26 18:21 mm_icon_focus_hd.png
-rw-rw-rw- 1 user group 9902 Mar 26 18:24 mm_icon_focus_sd.png
-rw-rw-rw- 1 user group 4125 Mar 26 18:26 mm_icon_side_hd.png
-rw-rw-rw- 1 user group 2721 Mar 26 18:25 mm_icon_side_sd.png

out:
total 0
drwxrwxrwx 1 user group 0 Mar 26 17:25 .
drwxrwxrwx 1 user group 0 Mar 26 17:25 ..

source:
total 1
drwxrwxrwx 1 user group 0 Mar 26 17:14 .
drwxrwxrwx 1 user group 0 Mar 26 17:25 ..
-rw-rw-rw- 1 user group 414 Mar 26 18:34 helloworld.brs


I manually make the .zip file package:
C:\Roku\RokuSDK_v41\examples\source\helloworld>zip -9 -r ../helloworld.zip .

(It would be great if the plugin would do this step for me -- is that planned in the near future?)

When I go to the install page, it STB and says this:

No Development Application Installed.
[ ] [browse][install]

Application Received: 33513 bytes stored.
Install Failure: No manifest. Invalid package.


But I have a manifest! WTF?


C:\Roku\RokuSDK_v41\examples\source\helloworld>cat manifest

title=Hello World
subtitle=example 'hello world'
major_version=1
minor_version=0
build_version=00000
mm_icon_focus_hd=pkg:/images/mm_icon_focus_hd.png
mm_icon_side_hd=pkg:/images/mm_icon_side_hd.png
mm_icon_focus_sd=pkg:/images/mm_icon_focus_sd.png
mm_icon_side_sd=pkg:/images/mm_icon_side_sd.png
  • destruk's avatar
    destruk
    Streaming Star
    The manifest belongs in the root directory of your zipped app. You have it in the source directory, which is why it doesn't find it.
    As for doing it for you or automation, you can use a makefile and other procedures to do it in a one shot routine -
    viewtopic.php?f=34&t=39350
  • "SCTR" wrote:
    Which BTW, says nothing about requiring these in the manifest nor what sizes they need to be! *sigh*

    Required sizes are in the artwork-guidelines-v3.pdf document.

    "SCTR" wrote:
    But I have a manifest! WTF?

    You directory structure looks right. What do the contents of the zip look like? As destruk mentioned, the manifest has to be in the root of the zip, so I'd double-check that first.
  • "SCTR" wrote:

    It would be great if the plugin would do this step for me -- is that planned in the near future?


    The plugin already has this feature.

    File>Export->BrightScript->BrightScript Deployment

    This will bring up the BrightScript Deployment Wizard which:

    a) Auto-selects the source directory and it's contents, any image files it can find in the project, and the manifest.
    b) Allows you to manually select any additional files in your project that need to be included
    c) Zips it all up to a local file location you specify
    d) Optionally uploads the zip file to a Roku box you specify via a dropdown auto-populated with discovered Roku boxes
    e) Optionally generates a pkg file (for channel submission) based on the zip file.
    f) Optionally generates new developer keys (and displays the current dev id).

    The plugin (not the deployment wizard) will also let you know if your manifest has missing required values via the Problems tab.

    Cheers
  • THANKS GUYS!

    Turns out my .zip file was nested one level deep, so it was like "helloworld.zip" which had a folder named "helloworld" in it and everything was within that. :oops:

    The Eclipse plugin is even better than I expected! That's so rad that it will even upload it to the Roku. OMG. What a time-saver that will be. 😄
  • So I am brand new (20 minute old) to Roku development and am watching the tutorial videos.  Video #2 shows how to create a developer account and then, using the resources provided on the video page, shows you how to download and install the Hello World program.

    In any programming language, the Hello World program is the simplest of all programs guaranteed not to fail.

    Except it did fail with the manifest error.  There are fully three things wrong with the Hello World program that Roku tells you to install from Gitbug:

    1. The zip file has one too many levels
    2. The manifest file is contained in the /source directory which apparently Roku doesn't like
    3. Even when you move the manifest file to the root directory of the zip file, the references in the manifest are wrong.  You need to change all references to /image/??? to /source/image/???

    Not a great start Roku 😞

    • renojim's avatar
      renojim
      Community Streaming Expert

      Do you have a link to this zip file?  Is there a source/source directory?  It sounds like the zip isn't meant to be uploaded to a Roku directly.

      • Remington99's avatar
        Remington99
        Streaming Star

        The Roku video tutorials are here: https://developer.roku.com/en-ca/videos/courses/rsg/development-setup.md#resources 

        They instruct the new developer to download "hello world" from github here: https://github.com/rokudev/hello-world 

        I discovered another problem with the hello world program the tutorial says to install.  In debug, I noticed that the hello-world program was failing to launch (although at least the channel poster was displaying).  Based on the error message I discovered there is a directory called source which contains three sub-directories; components, images, and source.  As I have discovered, these three subdirectories should be at the root directory level.

        So after making the corrections I already noted, I moved these directories, re-created the zip file and voila I have a working hello world program.  

        I have several guesses:

        1. The hello-world program on github got modified and Roku didn't notice it
        2. Newer versions of the Roku OS no longer want these three subdirectories to be located below source and they failed to update the tutorial
        3. I am the first developer in history to actually try the hello world program