[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 990
  • Last Modified:

registering ActiveX EXE with installshield

I'm using installshield and i've got a pure installscript project - and i'm trying to get the installer to register a VB6 ActiveX EXE upon installation.

how do i do this?  i've already got the exe marked as "self-register".  I'm using installshield 10.5 - and its building the installer just fine except for this thing.

If i run the installer on a blank machine - it installs everything but doesn't register the exe and when i fire up the main .exe of the application it throws an error.  The first line of my application even calls shell("nameofexe.exe /REGISTER") but that doesn't work.

when i manually go to the command line on the machine, navigate to where the exe has been installed and then run nameofexe.exe /REGISTER - after that the installed application works perfectly.

help!
0
kenshaw
Asked:
kenshaw
  • 2
  • 2
1 Solution
 
EDDYKTCommented:
have you tried

shell("nameofexe.exe /regserver")
0
 
kenshawAuthor Commented:
yeah - i thought i mentioned that?
0
 
PreeceCommented:
Hmmmmmmm......what about:
shell("regsvr32 nameofexe.exe")

You may need to include the path to the file:
shell("regsvr32 c:\somefolder\nameofexe.exe")

Hope this helps!
Preece
0
 
kenshawAuthor Commented:
i didn't think i could use regsvr32 for ActiveX EXE's...

isn't there a way to do this with installshield though?  i thought that was the whole point of using it
0
 
EDDYKTCommented:
I usually do it in installshield, i'm using 6.3 not 10 but the ideas should be the same

On your shell script


ie

function OnFirstUIAfter()
    STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
    NUMBER bOpt1, bOpt2;      
    STRING svPath, szProgram, szCmdLine;
begin      
    Disable(STATUSEX);
   
    svPath = TARGETDIR ;
    szProgram = svPath + "\\nameofexe.exe ";
    szCmdLine = "/regserver";
    if (LaunchAppAndWait(szProgram, szCmdLine, WAIT) < 0) then
        MessageBox("LaunchAppAndWait failed to register " + szProgram, SEVERE);
          endif;  
            endif;
    endif;  
end;
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now