My problem is probably best described in this question: Auto-opening side-loaded taskpane But, the answer given won't work for me. I work at a company and setting up a new PC is not an option.
I wrote an Office (Word) Add-In (Office API/JS) and I want it to auto-open when a user opens one of the documents listed on my website. When a user selects a document to download, I open the document on the web server before downloading it and add some extra OpenXML parts in the document using OpenXML to make it open the Add-In. Here's the code:
//params: 
// wordDoc - the WordProcessing object being updated
//_WebExtensionStoreReferenceId = GUID of Add-In (the <Id> tag in Add-In manifest)
//_WebExtensionStoreReferenceVersion = "1.0.0.1" - matches version in manifest
//_WebExtensionStoreReferenceStore = path to manifest file
//_WebExtensionStoreReferenceStoreType = "FileSystem"
public static void AddWebExTaskpanesPart(WordprocessingDocument wordDoc, 
string _WebExtensionStoreReferenceId, string _WebExtensionStoreReferenceVersion, string _WebExtensionStoreReferenceStore, string _WebExtensionStoreReferenceStoreType)
{
    wordDoc.DeletePartsRecursivelyOfType<WebExTaskpanesPart>();
    wordDoc.DeletePartsRecursivelyOfType<WebExtensionPart>();
        
    WebExTaskpanesPart webExTaskpanesPart = wordDoc.AddWebExTaskpanesPart();
    WebExtensionPart webExtensionPart = webExTaskpanesPart.AddNewPart<WebExtensionPart>("rId1");
        
    We.WebExtension webExtension = new We.WebExtension() { Id = _WebExtensionStoreReferenceId };
    webExtension.AddNamespaceDeclaration("we", "http://schemas.microsoft.com/office/webextensions/webextension/2010/11");
        
    We.WebExtensionStoreReference webExtensionStoreReference = new We.WebExtensionStoreReference()
    {
        Id = _WebExtensionStoreReferenceId,
        Version = _WebExtensionStoreReferenceVersion,
        Store = _WebExtensionStoreReferenceStore,
        StoreType = _WebExtensionStoreReferenceStoreType
    };
        
    We.WebExtensionReferenceList webExtensionReferenceList = new We.WebExtensionReferenceList();
    We.WebExtensionPropertyBag webExtensionPropertyBag = new We.WebExtensionPropertyBag();
    We.WebExtensionProperty webExtensionProperty = new We.WebExtensionProperty() { Name = "Office.AutoShowTaskpaneWithDocument", Value = "true" };
    webExtensionPropertyBag.Append(webExtensionProperty);
        
    We.WebExtensionBindingList webExtensionBindingList = new We.WebExtensionBindingList();
        
    We.Snapshot snapshot = new We.Snapshot();
    snapshot.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
        
    webExtension.Append(webExtensionStoreReference);
    webExtension.Append(webExtensionReferenceList);
    webExtension.Append(webExtensionPropertyBag);
    webExtension.Append(webExtensionBindingList);
    webExtension.Append(snapshot);
        
    webExtensionPart.WebExtension = webExtension;
        
    //TaskPane
        
    Wetp.Taskpanes taskpanes = new Wetp.Taskpanes();
    taskpanes.AddNamespaceDeclaration("wetp", "http://schemas.microsoft.com/office/webextensions/taskpanes/2010/11");
        
    Wetp.WebExtensionTaskpane webExtensionTaskpane = new Wetp.WebExtensionTaskpane()
    {
        DockState = "left",
        Visibility = true,
        Width = 320D,
        Row = 0U,
        Locked = false
    };
        
    Wetp.WebExtensionPartReference webExtensionPartReference = new Wetp.WebExtensionPartReference() { Id = "rId1" };
    webExtensionPartReference.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
        
    webExtensionTaskpane.Append(webExtensionPartReference);
    taskpanes.Append(webExtensionTaskpane);
    webExTaskpanesPart.Taskpanes = taskpanes;
        
}
I set up a folder to serve up the referenced Add-In and it seems to work fine when I run it in my development environment. When I run the same code in my QA environment (different domain and certain settings of course), it seems to find the Add-In manifest because it brings up the TaskPane in Word, but it shows "We can't find the task pane to open. Contact the add-in developer for assistance." The Add-In itself seems to be working because when I add it to the Ribbon and click on the button, the Add-In comes up fine and even works with a Word doc.
I compared the two Word documents that were downloaded in dev and QA environments and except for the location of the Add-In manifest they are pretty much identical. I used Open XML SDK Productivity Tool for Microsoft Office to do the comparison (awesome tool by the way).
I don't have admin rights on the QA domain so can't run any debug tools there. Anyone have any ideas?