Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

Installer for C#/C++ custom tool

360Andy
7 - Meteor

Hi,

I'm new to the Alteryx Community, so forgive me if I'm posting in the wrong place.

 

I have developed a custom tool for Alteryx with a C# GUI and a C++ engine.

But I'm not sure of the best way to create an installer for it.

 

I have created an NSIS installer that lets the user choose an installation folder and then I write an ini file to <Alteryx>\Settings\AdditionalPlugins like:

 

[Settings]

x64Path=C:\InstallFolder
x86Path=C:\InstallFolder
ToolGroup=Preparation

 

This works well enough, however it doesn't seem to provide a mechanism for me to specify a tooltip description of the tool. The only way I can find to specify a description is to add a Node to <Alteryx>\bin\RuntimeData\DefaultSettings.xml like:

 

<Node MergeId="tool.name" Description="Tool Name">
    <Group>Preparation</Group>
    <Metatag>deduplication| data</Metatag>
    <Tooltip>
        <Description>Description of the tool.</Description>
    </Tooltip>
</Node>

 

But I'd rather not have to edit DefaultsSettings.xml - it doesn't seem like the right thing to do.

 

The .yxi tool installer looks promising as it uses a Config.xml that specifies: Description, ToolVersion, etc. but this only seems to support JavaScript plugins and Macros. Can this support dll based tools?

 

I watched a video of the "Unlocking the Secrets of the Alteryx APIs and SDK" from London Inspire by @TashaA but that didn't really have much to say about custom tools built using the C#/C++ SDKs.

 

What is the best way for me to install my custom tool and specify a tooltip description?

(None of the SDK Sample tools have a tooltip description).

 

Thanks in advance to anyone who can help me.

5 REPLIES 5
jdunkerley79
ACE Emeritus
ACE Emeritus

Unfortunately, as it stands that is the only way. 

 

One option is to use a JS GUI rather than a C# one and then you will be able to have the metadata specified. Depends on the complexity of your UI and what you are doing I guess.

 

I believe it is on the roadmap to expand YXI to support C#/C++ but no idea if or when will happen.

 

The NSIS installer is better than my PowerShell based solution I expect, but you are welcome to take a look as you want. https://github.com/jdunkerley/AlteryxAddIns/tree/master/Scripts.

 

I am hoping the next OmniBus version will use attributes in C# to populate the DefaultSettings.xml file but I haven't finished it yet.

360Andy
7 - Meteor

Thanks for this.

 

I don't think I could make a JS GUI work me. My GUI has only a few basic options but also has an "Advanced..." button that launches a Windows Forms DLL that has a tabbed dialog with loads more settings.

 

I guess I could prompt the user to allow me to edit DefaultSettings.xml and if they choose "No" they just don't get tooltips.

Hiblet
10 - Fireball

Slightly off topic, but I know Mr. Dunkerley has the kind of knowledge that few others have, so here goes...  Do you have instructions for how to install Custom tools to a non-Admin Alteryx install?  I cannot get Alteryx to discover my custom tools when Alteryx is installed under a roaming profile, and it is driving me nuts.  Thanks in advance for any forthcoming help.

360Andy
7 - Meteor

Hmmm, I'm wondering if I sidestepped that issue by never installing anything into "Program Files"

Hiblet
10 - Fireball

Possibly.  I have always used the Admin install, and encouraged every client to use that too.  That puts everything under "C:\Program Files", and the custom tool install works.  Just recently I came across someone who had not used the Admin install, and I just could not get the custom tools to appear.  I would really hope the Dev team would hop in here and post up a reply, as this is the kind of thing that *should* be easy to find out.  The documentation would really benefit from including the details too.  Thanks for the response.

Labels