This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Calling out to an external webservice
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 02, 2008
01:56 PM
Calling out to an external webservice
Greetings,
Is it possible from within a installscript function to make an external call to a webservice that would validate the licence key and based on the return value would continue with the installation or die gracefully.
The latter part I am not too concerned about because I already do something like this already, but I would like to move the licence key validation to something on our server, and from there do the validation.
I know that there is activation service available within installshield, but I have not been able to find any information on the cost of using this service, and therefore would like to save some costs.
If anyone has done this, any sample code would be appreciated. Thanks.
Is it possible from within a installscript function to make an external call to a webservice that would validate the licence key and based on the return value would continue with the installation or die gracefully.
The latter part I am not too concerned about because I already do something like this already, but I would like to move the licence key validation to something on our server, and from there do the validation.
I know that there is activation service available within installshield, but I have not been able to find any information on the cost of using this service, and therefore would like to save some costs.
If anyone has done this, any sample code would be appreciated. Thanks.
(5) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 03, 2008
11:52 AM
jjb8297 wrote:
Greetings,
Is it possible from within a installscript function to make an external call to a webservice that would validate the licence key and based on the return value would continue with the installation or die gracefully.
The latter part I am not too concerned about because I already do something like this already, but I would like to move the licence key validation to something on our server, and from there do the validation.
I know that there is activation service available within installshield, but I have not been able to find any information on the cost of using this service, and therefore would like to save some costs.
If anyone has done this, any sample code would be appreciated. Thanks.
Looks as though this is not possible to do from what I have read so far, which is a bummer. I would have thought it would have been possible to do, but I have not seen any replies and my search so far has turned up nothing that says this is possible to do.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 03, 2008
06:17 PM
I'm not aware of anything built in; you might need to shell out to an external executable or DLL that calls into the web service.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 03, 2008
09:43 PM
I distribute a .NET app so I already have a dependency on the framework.....
That said, I wrote a C# class that I made ComVisible(true) so I can instantiate it using CoCreateObjectDotNet(). The class consumes a webservice and allows me to invoke it's method.
In my scenario, a dialog has controls for the user to input a hostname and port number. This is used to set the URI before invoking the web service. The method returns a string which represents the site name of the server instance.
If the web service call fails, I just throw up a dialog saying it couldn't be confirmed. It's not fatal. If it works, I display the site name and ask yes/no.
In your scenario, I'd be concerned about servicing silent installs and offline installs. I'd also be concerned about people making transforms to bypass your webservice check. IMO, this type of requirement is better enforced in your application then in your install.
However, it can be done.
That said, I wrote a C# class that I made ComVisible(true) so I can instantiate it using CoCreateObjectDotNet(). The class consumes a webservice and allows me to invoke it's method.
In my scenario, a dialog has controls for the user to input a hostname and port number. This is used to set the URI before invoking the web service. The method returns a string which represents the site name of the server instance.
If the web service call fails, I just throw up a dialog saying it couldn't be confirmed. It's not fatal. If it works, I display the site name and ask yes/no.
In your scenario, I'd be concerned about servicing silent installs and offline installs. I'd also be concerned about people making transforms to bypass your webservice check. IMO, this type of requirement is better enforced in your application then in your install.
However, it can be done.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 04, 2008
06:30 AM
Christopher Painter wrote:
I distribute a .NET app so I already have a dependency on the framework.....
That said, I wrote a C# class that I made ComVisible(true) so I can instantiate it using CoCreateObjectDotNet(). The class consumes a webservice and allows me to invoke it's method.
In my scenario, a dialog has controls for the user to input a hostname and port number. This is used to set the URI before invoking the web service. The method returns a string which represents the site name of the server instance.
If the web service call fails, I just throw up a dialog saying it couldn't be confirmed. It's not fatal. If it works, I display the site name and ask yes/no.
In your scenario, I'd be concerned about servicing silent installs and offline installs. I'd also be concerned about people making transforms to bypass your webservice check. IMO, this type of requirement is better enforced in your application then in your install.
However, it can be done.
The dependency is that .net needs to be there, and with the app that we are have, we have need to have .net 1.1 installed on the user's machine before my app is installed.
Everything I have found so far points to the solution that you were talking about, and what Robert mentioned in an earlier post. Anyways, looks like the best approach is to do it within the application, and this point in time that would be a difficult animal to tackle considering I don't have the time to implement that into the application.
I know Installshield has the activation service, but I have not found anything regarding the cost of the service. Gotta love development when it throws challenges like this out at you. 😄
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 04, 2008
07:16 AM
If you roll your own, it's pretty easy to write a .NET Class that can be consumed by both the installer and the application. Just think about your use cases and you'll probably come up with methods like ReadKey(), SaveKey(), DeleteKey(), VerifyKey(), and so on. You can call these from both the install and the application so that you can do things like demo install that later gets promoted by the application.
Software Rights Management is a complicated area that still gets cracked so I pretty much stear clear of it as I'm not a crypto DRM expert. I do believe Robert has spent some time in this area though.
Software Rights Management is a complicated area that still gets cracked so I pretty much stear clear of it as I'm not a crypto DRM expert. I do believe Robert has spent some time in this area though.