Friday, April 5, 2013

F3 ScanPaths Importer

This little app is intended for all those who use a SOURCE F3 install which they copy to other Xbox360's and for those swapping HDD's content from one HDD to another. Apparently each HDD/USB has it's own DeviceId. Under content.db you'll find all MountedDevicesIDs. The ScanPaths table (settings.db) uses these IDs. The ContentItems table (content.db) uses just the ScanPathsID. By copying the databases from the SOURCE F3 install you'll lose your ScanPaths as the DeviceIDs don't match. This is where this app comes into play.

First copy your SOURCE F3 database to your new Xbox (called DESTINATION F3). Start your DESTINATION F3. This will update your content.db with your new DeviceIDs.

Open this app. Under 1) select your SOURCE F3 database and click IMPORT. You'll see all scanpaths available in that database. For the moment there is no distinction between DeviceIDs (all available Paths will be imported!). Therefore, I recommend using a SOURCE F3 database with just one DeviceId (as shown in the picture)! These scanpaths will always be present when you start the app. So in case you need always the same paths you'll just have to do 1) once.

Under 2) select your DESTINATION F3. Automatically it will fill DeviceID of Hdd1. If you need another DeviceID select between Hdd1, HddX or Usb0. The DeviceId will change accordingly. You can also input another DeviceId. Hit on update and all ScanPaths of your SOURCE F3 will be inserted into your DESTINATION F3 with the new DeviceIds.

Behind the scenes - SQLs
1) SOURCE F3 database
Does just SELECT * from ScanPaths and outputs it into scanpaths.ini

2) DESTINATION F3 database
SELECT MountedDeviceDeviceId from MountedDevices WHERE MountedDeviceMountPoint='" & ComboBox1.value and outputs it into DeviceId.ini
DELETE from ScanPaths
.import insertpaths.ini ScanPaths
UPDATE ScanPaths SET ScanPathDeviceId='" & txtDeviceID.value

Keyser (DEV)

Bill Stewart (TDC)
Edy (idea)
SQLite (sqlite.exe)

Source files
It's a simple HTA file. The contents of the executable will be extracted and placed somewhere under %appdata% I guess. If you need to change the code/scanpaths.ini file etc. search for SetPaths.hta.


Here is a picture showing the different relations between the tables:

No comments:

Post a Comment