What worked
I got it to work (finally). The firewall is quite a headache. This is the documentation what finally worked - as reference for others.
The problem was mainly "other" moving parts
Actors
There are quite some moving parts involved that need attention:
- Windows firewall: make sure port 1717 is open (and not used by something else)
- NodeJS, NPM and yarn (yarn is used for plugin installation in sfdx)
- The SFDX executable
- (optional) SFDX plugins
- The Welking Suite
What worked is to test "bottom up": Node/NPM, SFDX and finally the Welkin Suite
For the sake of this documentation we presume the proxy is http://192.168.44.44:4444 (Chinese will understand the joke with 44.44)
Steps
Set environment variables
Stuff to install
- nodeJS: download binaries from https://nodejs.org/en/
- sfdx: download binaries from https://developer.salesforce.com/tools/sfdxcli
- (later after npm config) Yarn: npm install -g yarn
Commands to configure
- npm config set https-proxy http://192.168.44.44:4444
- npm config set proxy http://192.168.44.44:4444
- npm config set strict-ssl false
- npm config set sslVerify false
- yarn config set strict-ssl false
Ensure your Windows firewall is open on port 1717
Optional plugins
(not needed for Welkin Suite)
- sfdx plugins:install sfdx-waw-plugin
- sfdx plugins:install sfdx-code-gen
- sfdx plugins:install sfdx-l18n-plugin
- sfdx plugins:install sfdx-wsdl2apex-plugin
- sfdx plugins:install sfdx-msm-plugin
SFDX update
Test your install of the sfdx install using "sfdx update
"
Welkin install
Any installer you run (TheWelkinSuiteSetup-Bloom-Sep20.exe) or the TheWelkinSuite.msi needs a config file (same name as the file with .config at the end). It needs the content:
<configuration>
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true" >
</defaultProxy>
</system.net>
</configuration>
- Run the installer. It will fail at the point where the licence agreement would be displayed. Don't click on cancel yet
- Search for the temp directory that contains the file TheWelkinSuite.msi -> Copy the entire directory somewhere else
- Click on cancel in the failed dialogue. The temp directory will disappear
- Create the file TheWelkinSuite.msi.config as above in the same directory as TheWelkinSuite.msi
- Run the TheWelkinSuite.msi (double click) in the saved directory -> this will install the application.
- Look for the file 'TheWelkinSuite.exe.config' file and open it using any text editor
- Search for the tag <system.net> and add <defaultProxy useDefaultCredentials="true" enabled="true" />
- Run the WelkinSuite -> should work
I realized that on failing authentication the nodeJS task handling oAuth on port 1717 didn't shut down correctly (might be the machine) - so if you failed once with login, you might need to shut down the nodeJS taks in task manager.
Caveat!
This setup switches off https certificate checking. You should replace it with proper chain of SSL/TLS certificates on your Windows configuration and potentially use the NodeJS parameter "NODE_EXTRA_CA_CERTS"
Thx to Kate for the pointers, appreciate the help rendered. Happy camper here