Unable to sideload my watchface anymore :-(

On my Fenix 7S Pro, after I did some change to my watchface, I sideloaded it (as well as the relevant .set file) and was puzzled to not seeing my changes. After a watch reboot, my changes still weren't there. Using Garmin Express, I deleted my sideloaded watch face, followed by another reboot. Now, even after I sideload my watchface (/Garmin/Apps directory and its settings file in /Garmin/Apps/SETTINGS), it's not available as a selectable watchface and when I connect my watch to my computer, the .set file is no longer in the SETTINGS directory.

Has anyone see something like this before? My watch is running the latest software, 17.28. I tried the newest CIQ version, 7,2,1 as well as the one I had before, 7.1.1.

  • I never tried to hack the system with settings files copied to the watch. When I side load I make sure I don't need to use the settings (I change the defaults to what I need). If settings are involved then I test it as a beta app by uploading it to the store. It's a bit slower, sometimes you have to wait a few hours (though sometimes uploading another "version" speeds things up a bit) but it works.

  • Had you installed the watch from the app store before you did the sideload?  If so, the sideload will take the store name, and use that for the .set file, log file. etc.  Make sure you delete a store version before the sideload, and also make sure the name of the .set is the same as the .prg, including case.  In the past, I've coped .set files from the sim, but had to correct the name as far as case.

  • One thing I've noticed on my 955 is that PRGs built for a different device are no longer accepted as sideloads anymore (this definitely worked in the past.) I doubt this is the case for you tho.

    Something else that a Vivoactive 4S user noticed is that a device app sideload (with the proper device type) did not appear for them until they subsequently installed an app from the store. This seems to be a bug and I'm not sure if it affects other devices (I've never seen it.)

  • The settings file and app have the same base name, including case. The app should work without a settings file since all the relevant properties have their default value. Working through a the Beta process is way too slow.

    I didn't install it from the app store, just side loaded. I didn't work on this app for the last few months (but it is my current watchface). It has always worked before. It's the first time that this is happening. Through GIT, I reverted to the release code base and that still doesn't stick. Since I was unable to sideload it, I'm now running the released version from the app store. Hoping to find a solution.

    I doubled checked that I compiled for my watch model, yes. I removed the App store version (and it did delete its .set file) and sideloading the PRG file still didn't work. I'm reinstalling the App store version.

  • Did you try installing a *different* app from the store after sideloading your app? You could be running into the bug that the VA4S user saw

  • Oh, a different app. Good question, I'll give this a try later on. I'm currently late for my running activity. There is a reason I have a Garmin watch after all lol.

  • Well to release a beta once in a few months is maybe not that bad :) It is annoying when you're working on something that you want to test, then improve, then test, a few times a day. But once in a while? Why not?

  • The loading of an app from the App store had no effect, which I expected since by auto deleting the .set file, it looks like it balks on the sideload and removes what I copied. That got me thinking, I checked the crash_log file and I see the following:

    ---
    Error: 'Signature check failed on file: CRYSTALFACE'
    Time: 2024-07-10T18:33:20Z
    Part-Number: 006-B4374-00
    Firmware-Version: '17.28'
    Language-Code: fre

    I checked my Monkey C installation and saw that an update was available. That didn't resolved my issue. I generated a new developer_key file and that also didn't resolved my issue, so I switched back to my original one.

    I then checked my whole drive for another CRYSTALFACE.PRG file and found this one, crystalface.prg (in lowercase) in the git\crystal-face\bin directory with a timestamp a few minutes earlier than the other one. Sideloaded it and it worked! The bad one (with a date that matches the last simulator run time) is in the AppData\Local\Temp\com.garmin.connectiq\GARMIN\APPS\MEDIA directory, and its setting file is in its  ../Settings directory. I don't know why there are two .PRG files but at least, I know where the good one is now. Why make something simple when you can make it confusing.

    Last, as I compiled the program back with 7.2.1, I noticed that crystalface.prg  appears for a fraction of a second in AppData\Local\Temp\com.garmin.connectiq\GARMIN\APPS but then disappeared. Don't know what's that about.

  • What are all these paths? How do you build the org file for the device? If you use VSC the it asks where to create it, I usually keep the default bin/ and I always find there the latest build. But note that when you run it in the simulator then it overrides the prg, so before side loading I always build a fresh one for the device.

    Regarding the signature check: I also see it all the time in the recent months (I don't remember if it started with 6.4.x already or only with 7.x). It seems though that it works other than that warning. There were also some posts about it in the forum I think.

    are you familiar with the signature issue? Is it a compiler bug?

  • The path is where a working copy of the PRG used to be stored. It still copy the PRG there but that one doesn't work anymore. It did for years!

    Plus, that's also the only place you'll find a working copy of the app .SET file. I used to edit it through the App setting editor and copy the file into the watch's SETTINGS folder for the watchface to grab its settings from there.

    But somehow, they also screwed that up. Now, my .SET file is deleted when I unplug my watch from my computer so all settings are back to their default :-<

    Are they trying to piss off the devs or what (I know I'm pissed)? They're making developing for their watches (more) painful than ever.