I've attached a sample Service Definition (SD) file, which exemplifies the problem. This thing bombs when I try to start a service on ArcGIS Server. If I unzip the SD, unzip the .msd, and then look at any of the .xml files, I see that the connection strings to the datasets look like this:
Why is this? These are supposed to be relative paths!! Of course ArcGIS Server is not going to have access to this path and subsequently fail. This seems like a bug in the Service Definition creation process.
FYI - to create the Service Definition, I go to: File > Share As > Service > Save a service definition file > click to 'Include data...'.
If I click 'Include data...' why would it ever save absolute paths? Is there a bug where sometimes it saves the absolute path even though I included the data?
Also FYI -- I've seen this behavior in every version of ArcMap since Service Definition files came into existence.