Error message: DLL required for this install...

Got a problem you cannot solve? Try here.
dirvin
Posts: 8
Joined: Thu Jun 05, 2014 3:27 pm

Error message: DLL required for this install...

Postby dirvin » Tue Jun 09, 2015 2:43 pm

Within the last few days or so, our installation packages are failing to install with the following message: "There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run." We currently do nightly builds of our software, and new installation packages are created for test. However, nothing of major note has changed with the installation project. There have been minor changes to the application it is installing (bug fixes), but no changes to the actual installer project itself. Additionally, a "developmental install" can be created outside of the build server - same code and fileset - and the install package runs. So we are a bit baffled as to why this has "popped up".

Has this been reported by other InstallAware customers? Is there something in a recent Windows Update that may be causing issues here? Developers seldom update their machines in our company, and the installer developer is the only one that can produce a good install. Did a Windows Update break InstallAware?

What DLLs exactly are required by a MSI produced by InstallAware? I cannot seem to open the file with Dependency Walker to get that information. I have InstallAware 18 (Build 6.2.14).

Thanks,

-D

FrancescoT
Site Admin
Posts: 5360
Joined: Sun Aug 22, 2010 4:28 am

Re: Error message: DLL required for this install...

Postby FrancescoT » Wed Jun 10, 2015 12:17 pm

Dear Dirvin,

it's not easy to say which could be the missing DLL, this depends on what your package tries to execute at Runtime.

For what you report, the problem seems to be not reproducible on any target machine and due of this, this should have at least two possible causes.

- An Anti Virus application could be interfering with the package files that are extracted to the local temporary path at setup initialization.
As consequence a required file may be corrupted or damaged.

- If you used a call to "Call DLL Function" in your MSI code, verify that the called DLL is effectively available with the target machine or in case of a custom dll, that the same is included with your package.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

dirvin
Posts: 8
Joined: Thu Jun 05, 2014 3:27 pm

Re: Error message: DLL required for this install...

Postby dirvin » Thu Jun 11, 2015 10:06 am

I checked the MSI code, and we do not use the "Call DLL Function". The only thing the installer does is put files into a directory tree, and it will call SC.exe to uninstall and install a service. But that's all - it isn't overly complicated. Additionally, it doesn't install any runtimes via the ones that InstallAware knows about. So the only "DLL" that could be called is something the InstallAware-created MSI calls explicitly.

The only install packages that seem to work are those created by a developer. Those development machines are explicitly excluded from Windows updates. For some reason, the build server is not excluded - so that is a problem we need to fix on our end. However, it seems that the MSI produced explicitly calls a DLL that we don't care about.

I did find the MSI Log for an install that fails. We see the following error message:
Action GPDEPLOY, entry: GPProc, library: C:\Windows\Installer\MSIAA27.tmp

We don't explicitly do anything for group policy in our installer. The only thing we do is we have the "Administrator Priviledges" checkbox enabled on the Special Requirements section of "Application Requirements".

Thanks,

-D

FrancescoT
Site Admin
Posts: 5360
Joined: Sun Aug 22, 2010 4:28 am

Re: Error message: DLL required for this install...

Postby FrancescoT » Thu Jun 11, 2015 2:11 pm

Dear Dirvin,

so if I haven't missed anything, it seems to be a problem that occurs on your build server and when the installer gets built.

Did you try to compare the file size of the respective outputs (the one generated using the development machine and other one from the build server)?

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

dirvin
Posts: 8
Joined: Thu Jun 05, 2014 3:27 pm

Re: Error message: DLL required for this install...

Postby dirvin » Thu Jun 11, 2015 2:26 pm

The problem doesn't occur on the build server, it occurs on install packages *created* on the build server. The error isn't seen until one attempts to install the package. The install package created on the build server is within 100K of size of the one created on the development environment. The development one is actually smaller, because it doesn't include some of the documentation. Those elements (and proper version info) are only pulled in on the build server.

Do the MSI packages created by InstallAware explicitly call "GPProc" somewhere, as part of "action GPDEPLOY"? As InstallAware seen any GPO-related issues with the latest Windows updates, especially using the same version of InstallAware? The error definitely seems to be coming from InstallAware by default - we don't do anything with GPOs explicitly in our installer project.

Thanks,

-D

FrancescoT
Site Admin
Posts: 5360
Joined: Sun Aug 22, 2010 4:28 am

Re: Error message: DLL required for this install...

Postby FrancescoT » Fri Jun 12, 2015 12:56 pm

Dear Dirvin,

I am sorry, but I don't believe it's as you say.

I am still convinced that what you are experiencing is only the effect of the problem and not the problem itself.
The error seems to be the consequence of an event that happens at build time and this seems to be demonstrated, by the fact, that other install works fine over the "same" target machine. You only see the effect of problem when you run the installer.

Due the fact that seems you are not using any "Call DLL Function";

- are you able to reproduce the issue with different target machines?
- with the machine(s) where the problem is reproducible, is any Anti Virus application installed or active any security policy?
- in case of doubt about the fact that a security policy/AV may cause interference while installing, can you try to test your package on a fresh Windows machine (where only the OS is installed)?

AV applications may interfere with the extraction process of the setup components, with the consequence that part of them could become damaged or corrupted and then, these will be not available at setup runtime.

At this purpose, are your setup packages digitally signed? ...both?

We are not informed of any problem with our GP Wizard process and I suppose you see that call, probably because you are running a MSI output or due the internal process that elaborates the msi database.
How did you track the call to "GPDEPLOY"?

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

dirvin
Posts: 8
Joined: Thu Jun 05, 2014 3:27 pm

Re: Error message: DLL required for this install...

Postby dirvin » Fri Jun 12, 2015 1:47 pm

Wow - ok. You can chose not to believe me if you like....

I agree, what I'm experiencing is a side effect of the problem. Regardless, I can't install a package built by InstallAware from a project that worked one day, and doesn't the next. That's with NO changes to the project definition. I'm reporting WHAT I experience - if I knew exactly what the problem was and how to fix it, I'd fix it myself. I'll fully contend that the system on which InstallAware builds the MSI was updated - and that is the initial cause. However, I can't get my build server back (no restore capability), and if I stand up a new build server, it will still pull in the same updates from Microsoft that broke the build server in the first place. So there's obviously a deficiency in InstallAware 18 that it doesn't play well with the recent updates to Windows 7 64-bit.

To your points:
* Yes, I can reproduce it on different target machines.
* No A/V software is loaded, nor is there any security policy applied to target systems.
* The target systems are essentially clean; however, I will see if my test department can set up a "cleaner" target system.

As far as the source of the "GPDEPLOY" reference, I tried to install our package. I went into the target's TEMP directory, and saw the MSI*.log files - corresponding to times which I attempted the install. The first part of the text in the log directly matched that of the dialog I got reporting the error. The next sentence of that line was what I reported. Here is the full text of a log file:

Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action GPDEPLOY, entry: GPProc, library: C:\Windows\Installer\MSIBF80.tmp
=== Logging stopped: 6/11/2015 10:25:42 ===


My theory at this point is that InstallAware is pulling in an updated system DLL, that it incorporates into the MSI. The installer action in the MSI calls that GPProc entry point on the system DLL, which apparently doesn't exist. Either that, or has a dependency that doesn't exist on the target or isn't included in the MSI archive. I'm not sure which.

Believe it or not, I'm trying to help InstallAware out. I have this issue, which seems to be sourced from InstallAware pulling in, or referencing, Windows system DLLs incorrectly. I'm sure that others will see similar issues, so this is a heads up. Do you have an update to InstallAware that I should try out, that may not have this issue with updated Windows systems?

-D

FrancescoT
Site Admin
Posts: 5360
Joined: Sun Aug 22, 2010 4:28 am

Re: Error message: DLL required for this install...

Postby FrancescoT » Mon Jun 15, 2015 11:49 am

Dear Dirvin,

I didn't say that I don't want to believe in what you say and in this specific case I am referring to the error you seem to have.
I only said, that I don't believe the source of the issue it's as you say. Of course this is only my personal feeling which is based on what you reported and I could be wrong.

That said, InstallAware by default does not incorporate any system dll at build time. The setup engine may call internally a system dll, but if this happens, the engine will use only the local copy of the system dll available with the target machine.

Due of this, I still have the suspect that for some "UNKNOWN" reasons, the build process gets corrupted.

If you want, you could send me a copy of a package produced using your server machine and I'll try to see if I am able to see something.

If possible, you could even try to produce a build using a new dummy project created from scratch (without adding any files or with defining any setting). It could be interesting to verify if the problem still persists and if true, you could send to me the respective outputs generated from your machines.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

dirvin
Posts: 8
Joined: Thu Jun 05, 2014 3:27 pm

Re: Error message: DLL required for this install...

Postby dirvin » Thu Jun 18, 2015 12:09 pm

Alright, so I've had some more time to work on this.At this point, there seems to be a difference between installs created with the InstallAware GUI, the miabuild.exe command line tool, and if the build is run during a turn log-on session.

I tried a dummy project, which just puts some text files in the target directory. Nothing fancy or complicated. Both of the MSIs created, via GUI and command line, worked fine. All installation packages were created on the build server. I then tried our application project. The installer created with the GUI installed fine, and did not give the "DLL error" problem. However, when created with the command line tool, it doesn't work and gives the "DLL error" message. The miabuild is invoked from a Jenkins service process.

It seems that having miabuild invoked by a service is the rub here. I've tested it with having Jenkins invoke it both as a system/service account, and through my logon. Neither worked. I can remote onto the build server and run miabuild on the same project file that Jenkins runs it. Same directory, so the files it pulls in are exactly the same.The installer produced manually with miabuild installs on the target machine just fine. But not the MSI created via the service.

I'm still baffled as to WHY this is the case, and why it started happening just out of the blue. If it was an environment thing, one would think that specifying the log-on account would fix that - but it did not. I'm upgrading Jenkins now;however, I don't think that will have an impact. If it does fix the issue, I'll post those results to this thread.

Follow-up: Updating Jenkins did not resolve the issue.

Thanks,

-D

FrancescoT
Site Admin
Posts: 5360
Joined: Sun Aug 22, 2010 4:28 am

Re: Error message: DLL required for this install...

Postby FrancescoT » Fri Jun 19, 2015 11:29 am

Dear Dirvin,

for what your report, instead I suspect your problem is caused by an environment issue.

I have the feeling that is something related to the environment paths, maybe a system environment variable, that for some reasons is not resolved correctly at build time.

I don't know if your service runs under a particular user context. If it's true, maybe due the user context, the miabuild is not able to resolve correctly a system environment variable or a required system path. This is the only possible cause that comes to my mind, due the fact the miabuild tool seems to work fine when runs manually from command line.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

dirvin
Posts: 8
Joined: Thu Jun 05, 2014 3:27 pm

Re: Error message: DLL required for this install...

Postby dirvin » Thu Jul 02, 2015 10:12 am

The environment variable was my initial thought too. That's why I changed our build process to run under my credentials. That didn't fix the issue. I put in some extra logging, logging the environment when the build is run; I then compared that to running when I'm logged in. I did notice a difference in the CommonProgramFiles and ProgramFiles env vars - where it pointed to 32-bit when run from the build service, as opposed to 64-bit when run when I'm logged in manually doing it. Forcing the environment vars though to the proper directories seemed to have no effect however. I still get an install package that won't install. So I'm completely stuck here.

This has effectively shutdown our normal build, release, and testing processes. Our nightly builds cannot get deployed to the test environments. Since we cannot run our tests, the release candidates outright fail - killing our release process. Release candidates have to be manually generated and moved over to the test environments. The testing then has to be manually kicked off, which takes a while. We are losing each cycle about 6 hours of testing - because we build/test overnight. Additionally, we've now had to delay at least 2 of our normal release cycles. This has causes delays with our projects. Not a good situation.

What do you propose as a solution? I need this fixed ASAP. We've spent far too much time/money trying to get this fixed on our side - this has been going on for almost a month now.

[UPDATE] - I'm starting to think this is centered around InstallAware being a 32-bit application, and not properly picking up 64-bit DLLs when run from a service - regardless if the project specifically requests 64-bit only. Do you offer InstallAware as a pure 64-bit package?

-D

FrancescoT
Site Admin
Posts: 5360
Joined: Sun Aug 22, 2010 4:28 am

Re: Error message: DLL required for this install...

Postby FrancescoT » Thu Jul 02, 2015 1:57 pm

Dear Dirvin,

I am not in the position to propose a solution, because I am not able to understand which is the source of the problem.

Anyway I begin to suspect that your problem is started by the tool used to run the build.

The installAware build tool has to start as 32 bit mode in order to have all DLL dependencies resolved correctly.

I have the feeling that the tool starts the process as native x64 mode and due of this, any system folder queried by the process or by any generated child process, it will belong to the x64 system area. If this is true, the error is caused by the tool that starts the process.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

dirvin
Posts: 8
Joined: Thu Jun 05, 2014 3:27 pm

Re: Error message: DLL required for this install...

Postby dirvin » Mon Jul 06, 2015 5:56 pm

Hi there. To some extent, I agree with you regarding part of the equation being the build tool. I'm not disputing that. However, I need a workaround - since it seems that only the miabuild tool has the issue with running in 64-bit mode. Not only that, running it from a 32-bit batch script doesn't help. I've force miabuild to be run from the 32-bit cmd.exe - which still produces a bad MSI. So there seems to be an unfortunate disconnect. I can't change the build environment to 32-bit, because I *need* to build my application in 64-bit mode. My application will only support a 64-bit deployment environment.

My question was unanswered: Is InstallAware available as a 64-bit native installation?

Is there ANY way to force the MSI to exclude the GPDEPLOY actions? I don't explicitly have anything in the msicode to do that, so I'm assuming there is something implicit in the setup creation process that does that. Is there ANY way to disable that?

-D

FrancescoT
Site Admin
Posts: 5360
Joined: Sun Aug 22, 2010 4:28 am

Re: Error message: DLL required for this install...

Postby FrancescoT » Tue Jul 07, 2015 1:35 pm

Dear Dirvin,

first of all, I don't understand the necessity to start a 64 bit process to produce a native x64 setup package.

Unfortunately, I don't have a possible workaround to suggest. For what I understand the problem is started by the tool you use, which starts a child process and seems to alter the effective environment Platform used by the child process. In addition, the fact that the problem is apparently replicable only calling our tool, it's not a prove that do not exist other possible problems when launching other application from such tool.

Anyway, the InstallAware product is 32 bit application and it's not available a native x64 version of the product ... In all honestly, I don't recall of a single development tool which is distributed as native x64 application.

Regards.
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE


Return to “Technical Support”

Who is online

Users browsing this forum: No registered users and 49 guests