> Suppose I want to store this on a web service in a somewhat structured form, indicating what kind of error happened, and at what part of the update process it occurred. Should I create a custom error struct that holds the details I need?

We'd need more specific details about how to get the error information
from here to the web service. Will it be an inline http call here in the code?
Or a separate process that reads log output from this process?

Anyway, YAGNI. If/when that situation arises, then deal with it. But
meanwhile don't write code for something we're not doing.