function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
agargagarg 

Deployment of sForce Controls

I want to know if we have ever successfully deployed a sForce control by embedding an ActiveX control in it. I am facing different component download problems on different computers. It is running perfectly fine from salesforce.com on my development computer.

But on other computers, every time you click on the Web Integration Link for the control, IE displays a message asking "Do you want to install and run the file https://na1.salesforce.com/01NOIPIEWRJLKNWRT0000000R" etc, without displaying name of the actual cab file. I think this problem arises as we do not provide the actual URL for the .cab file but instead CODEBASE="{!Scontrol_URL}#version=1,1,0,3"> on the integration link web page. So IE may not be knowing that it is actually downloading a .cab file or .ocx file for which it could match the existing version on user's computer.

The control sometimes appears and runs and sometimes does not, depending on components already installed on the user's computer (VB Runtime, MSCOMCTRL.OCX etc.).

So it will help me a great deal in looking in the right direction if I know for sure that there is no design problem with the sForce control.

A Garg

 

 

 

DevAngelDevAngel

Hi agarg,

There are several considerations for usability when implementing Activex controls.  You have the ability to use other com components in your control and when packaged using the Package and Deployment wizard you are given options as to where to obtain the various dependent com components when the do not exist on the client machine.  If you elect to have them downloaded from another site, like from microsoft, there will be more than one dialog that is displayed asking for permission.  You can elect to have all the components packaged in the control to avoid this at the cost of increasing the size of the cab file.

Code signing is also very important.  You cannot predict the level of IE security that is implemented from one machine to the next.  So be sure to obtain a code signing certificate and sign your control.  If you need to include instructions to the user on how to configure their IE properly to minimize the number of dialogs, then do so.

ActiveX controls are not downloaded if they already have been installed on the users machine.  The browser uses the classid="clsid=blah" part of the object tag.  When compiling you activex control, use binary compatibility.  This prevents minor changes to the control from changing the GUID for the control.  When you run the Package and Deployment wizard a sample htm file is generated.  You should use the object tag from this file for your sforce control and replace the code base value appropriately.  IE will grab the classid and look for it in the registry to determine if it needs to download and install the control

Cheers