Solved

Installshield 2012 registering a dll in the Custom Actions During Installation

Posted on 2014-03-10
16
3,092 Views
Last Modified: 2014-03-13
I'm having trouble with an InstallShield 2012 Express install package. I have a Custom Action configured after the installation to register using regsvr32.exe /I <dll file> but the setup requires that the path to the regsvr32.exe be known. Where should I point it to find the regsvr32.exe on different window OS version? Is there a better way of registering a DLL?
0
Comment
Question by:csalerno
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 8
16 Comments
 
LVL 12

Expert Comment

by:jmcmunn
ID: 39917643
What you want to do is set that DLL as the key file for a component and set it up to register the COM at install time.  No custom action should be needed.  There are a couple of ways to do it depending on project type and DLL.

here are a couple of links to get you going, Flexera will have more info on their pages as well.

http://www.installationdeveloper.com/3028/com-extractionregistration-in-an-installshield-project/

http://helpnet.flexerasoftware.com/installshield17helplib/IHelpCompRegSelfReg.htm
0
 

Author Comment

by:csalerno
ID: 39917661
I'm learning each time I look at this. Thank you for the link, but it appears those procedures are for DLL created with source code. I did forgot to mention that this DLL I'm trying to register is a third party so I cannot build it to produce the key file.
0
 
LVL 12

Expert Comment

by:jmcmunn
ID: 39917670
You don't need to have authored the file to set the COM properties in Installshield.  Setting it as a key file of a component simply tells Installshield that it is the "important" file and uses that file when performing the various actions (COM, Gac etc) on that component in Installshield.

http://helpnet.flexerasoftware.com/installshield17helplib/IHelpCompRegDynamic.htm

Another link to help out.
0
Forrester Webinar: xMatters Delivers 261% ROI

Guest speaker Dean Davison, Forrester Principal Consultant, explains how a Fortune 500 communication company using xMatters found these results: Achieved a 261% ROI, Experienced $753,280 in net present value benefits over 3 years and Reduced MTTR by 91% for tier 1 incidents.

 

Author Comment

by:csalerno
ID: 39918125
Having  hard time following any of the methods for DLL registration outlined in either of the above links. None of the screen shots are familiar with InstallShied Express 2012.
0
 
LVL 12

Expert Comment

by:jmcmunn
ID: 39918283
Here is a link to info about IS12 Express specifically, I unfortunately do not have that version installed but the process should be similar.

http://helpnet.installshield.com/isxhelp18/IHelpISXComReg.htm

Essentially, you need probably want to be in their "advanced view" not the super simple wizard view they try to default to.  Make sure your DLL (the one needing to be registered) is in a component by itself, set as the key file.  Once on that component, there will be options for the COM settings and other things.
0
 

Author Comment

by:csalerno
ID: 39918336
OK, I can get as far as what's described in the previous link but were I fall off is where you describe "Make sure your DLL (the one needing to be registered) is in a component by itself". What are you calling a component?
0
 
LVL 12

Expert Comment

by:jmcmunn
ID: 39918442
It's a basic installshield building block, a way to organize your Installshield project.  if you're in their "advanced" view (I think they call it the installation designer) and look for the "Setup Design" node in the tree.

under that you will see one or more "Features" which look like little pie charts in all versions of IS I have used.  under each of those you see one or more "components" which look like folders with a sheet of paper on them.

Basically, each component has settings for how to treat the files or file in them.  In order to meet strict windows validation, this often means one file per component.  that's not always needed though, as long as you set a key file properly it is typically ok to have multiple files in one compoenent.

hope this helps.
0
 

Author Comment

by:csalerno
ID: 39918471
Getting a little closer. In the below screen shot the dll I'm trying to register is in the Nuance Binaries feature. Just not sure where to go to get to the file and right click to see the "Key File" option.

InstallSHield Project
0
 
LVL 12

Expert Comment

by:jmcmunn
ID: 39918490
That's a bit different layout than the versions I use...but my best guess is you will find it under the Files and Features node down under the Specify application data node.

Why they (Installshield) can't be consistent is beyond me...
0
 

Author Comment

by:csalerno
ID: 39918592
Not sure the Express version allows this. I get to the file and right click and my only options are "Remove" and "Copy".

Specify Application Data -> Files and Features
0
 
LVL 12

Expert Comment

by:jmcmunn
ID: 39918633
try clicking the files node under the set application files, then right clicking on the file you need to register and going to properties...hopefully you will see the COM settings there.  if not, I am at a loss without having the app installed here.
0
 

Author Comment

by:csalerno
ID: 39918700
OK, that's were I was in following the procedures for the last link you set.

The what is the next step?

Properties
0
 
LVL 12

Expert Comment

by:jmcmunn
ID: 39919338
That depends on the DLL...if it is a .net file, they you'll need to set the .Net specific info there.  Typically what you have there is good, other than probably checking the COM interop flag on.  You can tell pretty easily if the COM interaction works after a test install.
0
 

Author Comment

by:csalerno
ID: 39919501
Then that is all I need? I can just build and install and that dll will get registered?
0
 
LVL 12

Accepted Solution

by:
jmcmunn earned 500 total points
ID: 39919517
Yes it should.  Find an empty virtual machine or test box and run the install and check the results.  There's nothing like good old empirical evidence to prove/disprove if something is working.  :-)

Good luck!
0
 

Author Comment

by:csalerno
ID: 39919519
thanks, I'll test tomorrow.
0

Featured Post

Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

One of the major drawbacks of deploying applications by GPO is the complete lack of any centralized reporting. After a normal deployment, there are two ways to find out if it was successful – by looking in the event log, and by looking in the log of…
A theme is a collection of property settings that allow you to define the look of pages and controls, and then apply the look consistently across pages in an application. Themes can be made up of a set of elements: skins, style sheets, images, and o…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question