cancel
Showing results for 
Search instead for 
Did you mean: 
helenAtHoriba
Flexera beginner

Re: Registering 64-bit native DLL failed

Hi @banna_k , @rguggisberg 

Thank you for all your suggestions, but so far - nothing..

I'm still at the crossroads.

0 Kudos
rguggisberg
Active participant

Re: Registering 64-bit native DLL failed

You might try logging the install and see if there is any useful info in the log file. "Filename.exe" /v"/l*v \"%CD%\log.txt\""
0 Kudos
helenAtHoriba
Flexera beginner

Re: Registering 64-bit native DLL failed

Hi @rguggisberg 

I tried to log the InstallScript actions, but it's loggin only MSI part of the installation.

There is another log, but I didn't find anything suspicious in these logs.

I'm crushed for time, any other ideas????

0 Kudos
Flexera banna_k
Flexera

Re: Registering 64-bit native DLL failed

Hi @helenAtHoriba,

 

See whether you can do the registration by executing the 64 bit regsvr32 directly:

Disable(WOW64FSREDIRECTION);
LaunchApplication( WINSYSDIR^"regsvr32.exe", "/s "+szFile, ........);

Enable(WOW64FSREDIRECTION);

 

keep the above script in an event, and ensure the target file will be in place when the it get executed.

And ensure, all the dependencies of the file is exist in the location when the regsvr32 is executed.

For debugging, remove "/s " from the LaunchApplication, and see what is the cause for the failure by examining

1- What regsvr32 is getting executed 32 or 64 bit

2- required dependencies are in place when executing the regsvr32

3- While executing the regsvr32, the target file itself avialble in the target location.

 

 

 

 

 

 

0 Kudos
Highlighted
helenAtHoriba
Flexera beginner

Re: Registering 64-bit native DLL failed

Hi @banna_k As I mentioned before, all the required files at the time of registration are installed and in the appropriate location. The "regsvr32" command is using 64-bit version of Systems directory. The only issue is that the command prompt at the time of registration is not opening with the elevated privileges. When the registration through InstallShield failed, before the Installation is finished, I could run the batch file either as "Run as Administrator" or through "cmd (Administrator)" and everything works as a charm.
0 Kudos
helenAtHoriba
Flexera beginner

Re: Registering 64-bit native DLL failed

Hi @rguggisberg , @banna_k 

May be I should rephrase my question.

Why LaunchApplication function

  LaunchApplication( szLaunchCmd, ""...

is not running with the elevated privileges for the specified program (szLaunchCmd).

I have tried batch file, executable...

 

 

0 Kudos
rguggisberg
Active participant

Re: Registering 64-bit native DLL failed

Put this in your InstallScript BEFORE LaunchApplication.

 

LAAW_SHELLEXECUTEVERB = "runas";

Look in HELP under "InstallScript Language Referrence" and search for LAAW_SHELLEXECUTEVERB. There you will see...

LAAW_SHELLEXECUTEVERB

InstallShield 2018 » InstallScript Language Reference
The LAAW_SHELLEXECUTEVERB script variable is a string that indicates the verb used by LaunchApplication when calling ShellExecuteEx. The default value is open. The lpVerb member of LAAW_SHELLEXECUTEINFO points to this string by default.
Tip • If you are using LAAW_OPTION_USE_SHELLEXECUTE on systems running Windows Vista or later and you want to launch the application using the full administrator account (similar to right-clicking the executable file to be run and clicking Run as Administrator), set LAAW_SHELLEXECUTEVERB to runas before using LaunchApplication in your script:
LAAW_SHELLEXECUTEVERB = "runas";
This ensures that the application is always run with full administrator privileges regardless of whether the application to be launched has an application manifest with relevant settings. Note that this may trigger a User Account Control (UAC) prompt for consent or credentials.
On systems running operating systems earlier than Windows Vista, if runas is used, a Run As dialog box is displayed. The behavior is similar to right-clicking the executable file to be run and clicking Run As. This dialog box enables the end user to select the user account that should be used to run the application.
 
0 Kudos
helenAtHoriba
Flexera beginner

Re: Registering 64-bit native DLL failed

Hi @rguggisberg I used your suggestion from the very beginning, would not even consider run with out "runas"
0 Kudos