You are here

XBMC Portable 11.0 Dev Test 2

42 posts / 0 new
Last post
jpoul
Offline
Last seen: 4 years 4 months ago
Joined: 2010-05-02 07:52
XBMC Portable 11.0 Dev Test 2

Application: XBMC
Category: Music & Video
Description: XBMC is a popular media center software

Download XBMC Portable 11.0 Development Test 2 [44.6MB download / 113MB installed]
(MD5: 7a6f43b999ac299038e37af3b92f3c28)

Release Notes:

11.0 Development Test 2 (2011-11-23)

  • Updated absolute paths in XBMC database with current paf drive
  • Updated to XBMCSetup-20111122-01da319-master nighlty.

11.0 Development Test 1 (2011-10-28)

  • Initial release
  • Simple launcher to start xbmc in portable mode
  • profile and logs stored in portable data folder
  • Library sources for videos, music and pictures PortableApps.com document folders
  • Offline installer, based on the hitherto xbmc nighlty

Since XBMC has some prerequisites (DirectX and VC++ runtime), this is definitely not a pure portable app. The redistributable are included in \Source\Other\Prerequisites. That said, I thought I should give it a shot. Here goes nothing...

This is a portableapps launcher for the upcoming release, XBMC 11.0 (codename "Eden"). It is a personal effort, in no way related with the official XBMC team. If you want to find out about XBMC, check out the site, and /or the wiki.

Devo
Offline
Last seen: 1 year 1 month ago
Joined: 2007-09-04 14:55
I haven't used XBMC much, but

I haven't used XBMC much, but it looks like you might want to move the folder portable_data from the App folder to the Data folder. The idea being that if you updated you're portable installation you could simply run XBMCPortable and all your settings would still be there.

Again, I haven't used XBMC much so this may be taken care of with advancedsettings.xml and sources.xml, but I find it hard to believe that those 2 files also store your settings for addons.

I'm getting very interested in this and hope you continue to update and support it.

jpoul
Offline
Last seen: 4 years 4 months ago
Joined: 2010-05-02 07:52
Profile portability

Regarding the portable_data folder, moving it around is not a good idea. I have tried it in a previous approach with a loaded profile, and the moving took ages. The best think would be to have XBMC team specify a different profile path (maybe through a command line parameter). But until then, I wouldn't consider it an option.

Related to the sources.xml and advancedsettings.xml, I like to think them as a good start towards a portable profile. The thing is I have a lot of reading and research to do and not so much time to spend on it. I don't know about portable addons, but I will have a couple of more settings "portabilized" in the near future.

Hope I'm being usefull.

albertomw
Offline
Last seen: 8 years 3 months ago
Joined: 2016-09-08 20:10
Portable 16.1

Hello jpoul,
I am not a developer so I would not know your code and language, however I am a businessperson looking for Kodi portability onto USB.
have you been succesful?
If so, please get in touch with me, we may be able to work together on a nice project.
Best,
Alberto

Teto

mwayne
Offline
Last seen: 16 hours 34 min ago
Developer
Joined: 2012-01-03 09:23
Takeover

As linked in the latest post I took over this project ->here.

Gord Caswell
Gord Caswell's picture
Offline
Last seen: 1 week 3 days ago
DeveloperModerator
Joined: 2008-07-24 18:46
doesn't exist

Some comments:
1. Your download link doesn't link to a file.
2. Why are you using an online installer instead of including the files?
3. What issues where you having with Python and the launcher? We have a few apps that include Python with no issues.
4. As previously mentioned, to properly be in PortableApps.com Format, personal data should be kept in the Data folder, and moved if necessary.
5. Did you ask permission from radarman36 to take over, as he was working on this? It's generally considered good manners to ask first. Smile
6. Your versioning is incorrect - if this is a test of version 11.0, your versioning should be 11.0 Development Test 1, rather than 1.11.0

Hope that helps some! I'd give more feedback, but I can't download the file to test.

jpoul
Offline
Last seen: 4 years 4 months ago
Joined: 2010-05-02 07:52
Thanks Gord.

Thanx for your constructive and detailed comments. I had been a bit busy lately, but as soon as I found some time, I got down with it...

Regarding (1) and (2), I changed it to offline. the only reason for the online installer was to be more ... development-friendly (for my own sake actually). Anyway, I will contact team XBMC and see if I can get to a proper working dir using their installer. Until then, I switched to offline

Regarding (3): I had an issue with the 10 release. When I started XBMC using the launcher, I got error in every single python script and add on. Since Eden (version 11) is to be launched and it works fine, I don't think there is any need to look further into it.

Regarding (4): I moved the whole profile in the Data folder. Logs will also be stored there. I think that this is as portable as it gets. There is the issue of course of a big profile folder. Copying it around will take ages. I will contact team XBMC and see if we can get any parameter to specify the profile folder on startup.

Regarding (5): Totally my bad. I will contact the other forum to let them know - and maybe join forces.

And finally, regarding (6), I fixed the version.

That's all for now. Fixed the links so do give it a shot and let me know.

Again thanx a lot..

Hope I'm being usefull.

Gord Caswell
Gord Caswell's picture
Offline
Last seen: 1 week 3 days ago
DeveloperModerator
Joined: 2008-07-24 18:46
Can you link to this file in

Can you link to this file in your repo as a download, and update the md5? thanks Smile

https://github.com/jpoul/XBMCPortable/blob/master/XBMCPortable_11.0.0.0_...

depp.jones
Offline
Last seen: 18 hours 52 min ago
DeveloperTranslator
Joined: 2010-06-05 17:19
Hi jpoul, I tried to test it,

Hi jpoul,
I tried to test it, but it simply failed to start on my end (WinXP SP3/Admin). XBMCPortable appears in the taskmanager and quits without result.
Your Download link points to a zip file (your repo?) containing the paf, your development structure and other stuff. Only the paf is needed for users here.
You name it "XBMC Portable Dev Test 1" in the appinfo.ini. You should rather name it "XBMC Portable". "Development Test 1" is added by the installer automatically (from your entry in DisplayVersion) to the generated file and is shown in the version information in the PA.c menu (tooltip on mouseover).
The other project (of radarman36) could rightfully be considered dead. John has made a general request at devs a while ago to put a hand up if an old dev test is being activly developed. Even if it was before radarman's last actions here, he did not answer to the last request in his topic either (horusofoz asked exaclty for that - s.o. picking up the development).

jpoul
Offline
Last seen: 4 years 4 months ago
Joined: 2010-05-02 07:52
Prereqs

Hi depp.

XBMC needs some prerequisites. Did you try to install them first? You can find them in Other\Prerequisites. Install them and give it a shot, I think it will work.

I updated the link and the MD5. I also changed the name in the appinfo.

Hope I'm being usefull.

depp.jones
Offline
Last seen: 18 hours 52 min ago
DeveloperTranslator
Joined: 2010-06-05 17:19
You're right. It needs

You're right. It needs msvcp100.dll and msvcr100.dll (maybe others from VC 2008). I don't know how it is consistent with its license, but it would be great, if they could be included in the package already. It's enough, if they are placed in the app's root folder (XBMC).
-edit-
This one is strange:
It worked perfectly from the folder, I tested at first. Another copy I installed in the platform did not, despite having exactly the same folder contents. I even copied over the whole folder from my first test setup. No way to start it, neither standalone, nor from the menu. The other one still ran perfectly. After a reboot, both refused to launch. I extracted the d3dx9_43.dll to the app folder and the problem was solved. Why it worked in the first without it remains strange...
I have DirectX 9.0c installed already, but the version may differ from 9_43. I'll update my version an see what happens.

jpoul
Offline
Last seen: 4 years 4 months ago
Joined: 2010-05-02 07:52
Redistribution of prerequisites

Haven't tried to extract the files and use them as standalone in the folder. I have to say though, this would probably break redistribution licenses, as the prerequisites (directX and VC++ 2008/2010) are provided as full redistributable packages from Microsoft.

Hope I'm being usefull.

Gord Caswell
Gord Caswell's picture
Offline
Last seen: 1 week 3 days ago
DeveloperModerator
Joined: 2008-07-24 18:46
Update Development Test #

Any time you make changes to the package, make sure you update the development test number. Since you've already updated this once, it should be listed as 11.0 dev test 2, however since that hasn't been done yet, the next time you update this, ensure you update the numbering schema appropriately. See some of the other apps in testing here for examples of what I mean.

jpoul
Offline
Last seen: 4 years 4 months ago
Joined: 2010-05-02 07:52
Thanx Gord. I will do this

Thanx Gord. I will do this next time I update.

Hope I'm being usefull.

Devo
Offline
Last seen: 1 year 1 month ago
Joined: 2007-09-04 14:55
Relative Paths in Databases

I've been using this as my default install on my computer and recently ran into an issue. I have this installed on the same drive with my music and video. I had to change the drive letter, and the next time I ran XBMC, it couldn't find any of my media. Everything was still in the library, but it couldn't find it. I had to update my library all over again, downloading info from the scrapers. Any ideas why this might have happened?

Looking at it I noticed you update the drive letter in sources.xml, but maybe it also has to be updated in the databases as well for it to function properly. Hopefully this isn't a database issue because it seems like you would need to work with the XBMC team to implement relative paths within the databases.

Devo
Offline
Last seen: 1 year 1 month ago
Joined: 2007-09-04 14:55
Updating XBMC

I saw that you released an updated version so I went ahead and upgraded. There is one glaring issue that you need to address. When updating, the installer wipes out all the previous user data.

This is probably just because you changed the way you handle the user data, but it would have been nice to know. In the future make sure that all user data remains in tact whether it is in the Data folder or the App/XBMC folder.

jpoul
Offline
Last seen: 4 years 4 months ago
Joined: 2010-05-02 07:52
Hi Devo. I looked up to the

Hi Devo. I looked up to the issues and I made the following conclusions:

1. Regarding updates and user data, it is because in my first version I wasn't handling user data the right way. This was fixed in the last update - there is a couple of posts on this. Sorry for any inconvenience. On my next update I will make sure I make things more clear.

2. Regarding relative paths, you are right. There are a couple of workarounds and I am working on it. I will not end up updating the database paths - although it could be done. I am rather looking to alternatives to solve the problem.

Thanx again for your time. I will post my progress to the forum.

Hope I'm being usefull.

jpoul
Offline
Last seen: 4 years 4 months ago
Joined: 2010-05-02 07:52
Try dev 2

Try Development 2. I ended up updating the database, using sqlite.exe. The whole process of launching is handled by RunXBMC.bat in App folder. Check it out and let me know.

Hope I'm being usefull.

Devo
Offline
Last seen: 1 year 1 month ago
Joined: 2007-09-04 14:55
Shutdown?

I don't know if this is possible, but is there a way to shutdown the computer through XBMC with out the launcher getting messed up? I've tried it a couple times and when you start up the computer the next time, the XBMC Launcher states that is was not shutdown the time before and needs to be launched again. Just something for you to think about.

jpoul
Offline
Last seen: 4 years 4 months ago
Joined: 2010-05-02 07:52
This would mean that XBMC

This would mean that XBMC first closes itself - so that the portable app can perform the proper cleanup - and then shuts down the computer. Even more, it actually means that the portable drive get's ejected - so that all running portable apps perform the proper cleanup - and then shuts down the computer. In order for this to work, one would have to do the following:

  • Handle the XBMC's Shutdown action, override it and trigger a PortableApps ejection instead.
  • The ejection would trigger the shutdown (because of the parameters or something)

Regarding xbmc, I think there are a couple of ways to do this, but unfortunately, I don't have the time to work on this. Regarding the ejection process, I would wait for the next final release of the platform. I think they have ejection enhancements on their road map. In either case, I would avoid using the shutdown functionality right now, or face the issue of auto clean up, the way the platform handles it right now - using the message box and re-launching.

Hope I'm being usefull.

Devo
Offline
Last seen: 1 year 1 month ago
Joined: 2007-09-04 14:55
Use New Version for Install

I notice the version that you bundle has an issue with remotes, specifically it constantly displays a notification on the screen if you're using a remote control. More information can be found in this thread. I would suggest using one of the newer nightlies as they have fixed the issue after October 3, 2011. Just an FYI.

On another note, I was able to use UniversalExtractor to extract the files from the XBMC installer, so there may be a way within the PortableApps installer to automatically download and install XBMC without you having to host the files yourself. I have a copy of the portable version of it if you need it.

Gord Caswell
Gord Caswell's picture
Offline
Last seen: 1 week 3 days ago
DeveloperModerator
Joined: 2008-07-24 18:46
Extracting using PortableApps.com Installer

see here: https://portableapps.com/development/portableapps.com_format#installer

Particularly the section "Within the optional [DownloadFiles] section:", subsection "AdvancedExtract1To and AdvancedExtract1Filter"

Devo
Offline
Last seen: 1 year 1 month ago
Joined: 2007-09-04 14:55
When I had made a

When I had made a launcher/installer for MediaMonkey it required innounp.exe to extract the downloaded exe. The way around this was to use PortableApps.comInstallerCustom.nsh to perform post installer actions to extract the MediaMonkey exe using innounp. I'm not sure if this would still be the case, as I haven't written an installer in about a year, so you may have added more functionality to the PortableApps.com installer.

The reason I brought up the use of Universal Extractor is because jpoul stated that he wasn't able to extract the XBMC installer using the conventional PortableApps.com installer, so he may have to use one of the programs contained within Universal Extractor and the PortableApps.comInstallerCustom.nsh to have the installer extract the files properly.

Again, it's been awhile since I've done this so things may have changed, but I'm just throwing this out there as an idea so he doesn't have to host the files himself.

3D1T0R
3D1T0R's picture
Offline
Last seen: 3 years 5 months ago
Developer
Joined: 2006-12-29 23:48
Why not include it in the installer?

AFAICT XBMC is Open Sourced under the GPL, which AFAIK means that redistribution including repackaging the installer is allowed; so am I mistaken? Why must these files be downloaded by the installer (.paf.exe), rather than simply included in it?

~3D1T0R

Rapscallion
Offline
Last seen: 3 years 11 months ago
Joined: 2008-11-18 16:19
Online might be better in this case...

XBMC 11.0 "Eden" is not "publicly" available yet and is only available through nightlies. In light of this I think it might be better to do this as an online installer. This way you are sure to have the latest fixes every time you install, and won't have to wait for the installer to be repackaged. (Although I know you can just re-download the nightly manually and replace it)

JM2C, what do you think? Smile

It amazes me that on the internet you can be anything you want, and yet so many people still choose to be idiots.

jpoul
Offline
Last seen: 4 years 4 months ago
Joined: 2010-05-02 07:52
Online is better, but...

I also think that online redistribution is better. This was my initial approach, using the installer exactly as Gord suggested. Unfortunately I don't have enough time to spend on what goes where during the extraction. I would be more than glad to include it, if someone could "describe" the extraction process to the installer's ini file.

Hope I'm being usefull.

3D1T0R
3D1T0R's picture
Offline
Last seen: 3 years 5 months ago
Developer
Joined: 2006-12-29 23:48
Ah HA! ; Missing DLLs

I didn't realize this was a nightly build (perhaps this should be stated somewhere on the page), now I understand the desire for an online installer; I'll take a look at what needs to be done for the Installer to unpack the standard download for you.

Edit: I had some difficulty getting it to run as this machine's DirectX isn't up-to-date, & there's no MSVC++ 2010 redistributable installed on it yet, so I had to find & extract the d3dx9_43.dll & msvcr100.dll files from the DirectX & MSVC++2010redist installers (respectively), and place them in the %PAL:AppDir%\XBMC directory.

2dit: Oh my goodness, <sarcasm>I feel smart</sarcasm>: Those downloads I had to find are included in the Other\Prerequisites folder Shock (though I still would have had to mess around a bit to get msvcr100.dll out of the MSVC++2010 installer without Admin rights), can't the necessary DLLs be included where they'll do some good (i.e. %PAL:AppDir%\XBMC)? I know at least 1 or 2 of the Official apps include some MSVC++ DLLs in a position that they'll be used by the app (and nothing more of the MSVC++ redist package) so (considering the emphasis on legality here) I'm pretty sure that's legal, but I don't know about the DirectX DLL (though having the Installer extract it shouldn't be to difficult).

~3D1T0R

depp.jones
Offline
Last seen: 18 hours 52 min ago
DeveloperTranslator
Joined: 2010-06-05 17:19
Glad, we talked about it. . I

Glad, we talked about it. ;).
I also had to extract msvcp100.dll to make it run. The directx error maybe a false alarm that happens sometime under certain conditions. I did not try another restart to check that. It somehow acts strange and to be sure, all dlls should be included in the app's folder (by extracting through the installer).

3D1T0R
3D1T0R's picture
Offline
Last seen: 3 years 5 months ago
Developer
Joined: 2006-12-29 23:48
MSVC++ DLLs aren't extractable by 7-Zip; DirectX DLL(s) are easy

7-Zip can't extract MSVCR100.DLL from the MSVC++ 2010 redist installer, but I'm certain that there are PortableApps.com Apps that just include the necessary DLLs from some version of MSVC++, so MSVCR100.DLL (and whatever it needs out of MSVC++ 2008 redist) is (AFAICT) fine to include where it'll be used by the program rather than including the whole installers.

DirectX's DLLs on the other hand are just in .CAB files included in XBMC's installer's $TEMP\dxsetup folder, so an Online Installer can extract them to their proper location easily and that way legality isn't really a concern.

However I'm still working out what Extract#To & Extract#Filters settings to get everything else in place.

~3D1T0R

Devo
Offline
Last seen: 1 year 1 month ago
Joined: 2007-09-04 14:55
Not fully portable

So I did a fresh install and let XBMC generate my libraries. It downloaded all the information and cover art. I then closed XBMC, changed the drive letter, and restarted. From what I can tell the libraries updated properly because I could still play all my media. The problem is that the cover art and media information were gone and it started to try to download everything again. So it seems like the libraries are portable but the information that is scraped is not. There must be another file somewhere that needs to be portabilized.

Additionally, I posted in your thread on XBMC about a couple of problems I'm having. Can you check to see that dvds play and you can add Milkdrop preset packs?

Yrvyne
Offline
Last seen: 4 years 3 months ago
Joined: 2012-11-11 04:47
Cannot get it to work

I know this is unsupported but after 'installing', and starting the app, only the splash that it is either alpha or beta is visible and for a few seconds. After that nothing.

Any thoughts on what I must do? (I know xbmc is not stand-alone...)

Cleaner registry, lesser cluttering.

Yrvyne
Offline
Last seen: 4 years 3 months ago
Joined: 2012-11-11 04:47
SOLVED

Had to add some libraries.
Besides, is this project still under focus so as to have it as a proper release (not alpha/beta testing) ?

Cleaner registry, lesser cluttering.

tal
Offline
Last seen: 1 year 8 months ago
Developer
Joined: 2009-08-07 07:34
the link is not working

the link is not working

jpoul
Offline
Last seen: 4 years 4 months ago
Joined: 2010-05-02 07:52
Some bad news...

Long time no see... A lot of work and not enough time to publish a new version. It looks like I will not be able to maintain and support this one. So I am sharing my finding with you all and possibly someone else can go on working on this one.

First of all, I need to make a distinction: While XBMC is almost portable by itself, the media library isn't. And that is basically the major issue. During my research and trials I found out the following things:

  • In order to make a portable media library, one HAS to update the XBMC database, as files are stored with absolute paths. This is by definition a bad practice in any application. Changes in an app database should always be made through the app itself. Otherwise, there is no way of making sure that no "fatal" mistakes are committed.
  • There is a lot of complexity ensuring that addons are properly handled. Some addons write local data in not managed directories, so there is no way to actually handle everything, unless a really complex script is provided.
  • Even then, supporting multiple profiles makes complex things even more complex.

Based on my experience as a developer, when things get complicated, one has to take one's distance and reevaluate. In my case I came to the following conclusion:

XBMC can run in portable mode by itself and the media library will never be truly portable - which means that there is not really any value. Just download XBMC, install it, copy-paste it and run it with the -p parameter using a batch file. If you want your media library in a usb drive, just make sure you always use a certain drive letter (like M:) and everything will work as it should. Any other approach will need work without really getting any value.

On the other hand, if you want a really portable, standalone version with no dependencies, well... just install OpenELEC in a USB stick and use that one. That's what I am doing from now on anyway.

Hope I'm being usefull.

John T. Haller
John T. Haller's picture
Offline
Last seen: 5 hours 57 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Library Portablization

We portablize lots of apps where we make changes to the library to support portablization. Both Songbird and VLC for instance. We even have code to update the paths in the sqlite database tables.

As for multiple profiles, don't. Portable software gets one profile.

Sometimes, the impossible can become possible, if you're awesome!

tal
Offline
Last seen: 1 year 8 months ago
Developer
Joined: 2009-08-07 07:34
How it can be?

How it can be xbmx, a program that ported to linux and other os has a prerequisites (DirectX and VC++ runtime)? it not has in other os system.

John T. Haller
John T. Haller's picture
Offline
Last seen: 5 hours 57 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Not Uncommon

It's not uncommon at all. Qbittorrent requires the VC++ 10 libraries, for instance, and it is cross platform. It just depends on how the Windows version is compiled. While the Linux version is often compiled with GCC or similar, the Windows version is compiled with Visual Studio.

As for DirectX, that's the standard way of doing graphics on Windows. Linux has their own included libraries. And the code is often setup with conditionals (if Linux, use this, if Windows, use this).

Sometimes, the impossible can become possible, if you're awesome!

tal
Offline
Last seen: 1 year 8 months ago
Developer
Joined: 2009-08-07 07:34
If that so,

It can compile with mingw for windows and have the same functionality as it operate at linux

John T. Haller
John T. Haller's picture
Offline
Last seen: 5 hours 57 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Usually Unnecessary, Just Include Them

It's usually unnecessary. The standard way to compile allows the EXE to use the VC++ libraries without them needing to be installed by including them with the portable app. We do this for Qbitorrent (which needs VC++ 9 and 10) as well as lots of other apps. The only app that ever needed the VC++ libraries actually installed was LibreOffice due to an odd setting in their build process, but this was fixed a couple releases ago.

Sometimes, the impossible can become possible, if you're awesome!

tal
Offline
Last seen: 1 year 8 months ago
Developer
Joined: 2009-08-07 07:34
Thanks for the information

I hope it help to do xbmc portable

trust
Offline
Last seen: 4 years 7 months ago
Joined: 2009-09-29 19:54
XBMC is now called Kodi

XBMC is now called Kodi

Sandrito
Offline
Last seen: 1 year 7 months ago
Joined: 2012-02-08 14:24
(Re)Starting KODI PortableApp

My big respect to mwayne (Mike Wodarczyk) (re)starting on August 14, 2016 to make KODI an PortableApp !
https://portableapps.com/node/54938

Log in or register to post comments