468,765 Members | 1,291 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,765 developers. It's quick & easy.

Installer cannot find required DLL

I am using VS.NET 2003 and trying to deploy a service program(c++) to a Windows 2000 Server system. I have also written a small DLL (USSsetup.dll) that is used to start/stop the service using a custom action. This dll is apparently dependent on the MSVCP71.DLL and MSVCR71.DLL's as per the Detected Dependencies folder visible in the deployment project

All this good except I am UNABLE to Retarget the output of the msm merge modules(VC_USER_CRT71_RTL__X86_---.msm and VC_USER_STL71_RTL__X86_---.msm), that contain the MSVCP71.DLL and MSVCR71.DLL's, to the System Folder. The [+]MergeModuleProperties does not allow for changes which may be the result of the merge module design(not sure)

In any event, the problem I encounter during the installation process is the following error message during the installation... "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.

The reason I believe that I need to Retarget the output of these two merge modules to the System Folder is, that when using VS.NET 2002 and two similar merger modules, retargeting the output solved the problem. Now with VS.NET 2003 I cannot seem to find any solution

Any help is appreciated
Bill Murray
Jul 21 '05 #1
4 7015
You're not supposed to retarget the merge modules.
http://support.microsoft.com/default...b;en-us;326922

Do you have any installer classes or custom actions? That sounds like it
might be the problem.
--
Phil Wilson
[MVP Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

"Bill Murray" <bi********@noemail.com> wrote in message
news:32**********************************@microsof t.com...
I am using VS.NET 2003 and trying to deploy a service program(c++) to a Windows 2000 Server system. I have also written a small DLL (USSsetup.dll)
that is used to start/stop the service using a custom action. This dll is
apparently dependent on the MSVCP71.DLL and MSVCR71.DLL's as per the
Detected Dependencies folder visible in the deployment project.
All this good except I am UNABLE to Retarget the output of the msm merge modules(VC_USER_CRT71_RTL__X86_---.msm and VC_USER_STL71_RTL__X86_---.msm),
that contain the MSVCP71.DLL and MSVCR71.DLL's, to the System Folder. The
[+]MergeModuleProperties does not allow for changes which may be the result
of the merge module design(not sure).
In any event, the problem I encounter during the installation process is the following error message during the installation... "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."
The reason I believe that I need to Retarget the output of these two merge modules to the System Folder is, that when using VS.NET 2002 and two similar
merger modules, retargeting the output solved the problem. Now with VS.NET
2003 I cannot seem to find any solution.
Any help is appreciated,
Bill Murray

Jul 21 '05 #2
Yes I have a DLL that has a custom action and its this dll that has a dependency on the Msvcr71.dll and Msvcp71.dll's. The knowledge base article you mention was helpful but the merge module provided with VS.NET 2003 do not seem to work (VC_USER_CRT71_RTL__X86_---.msm and VC_USER_STL71_RTL__X86_---.msm)

The only thing that I can determine is that the two dll's are NOT getting installed into the System Folder. I base this on the knowledge base article recommendations and the fact that by excluding the merge modules and directly Adding the two dll's directly into the System Folder DOES WORK

I would much rather use the merge modules and install the dll's in the Application Folder (as per recommendations in the knowledge base article) but I cannot seem to make this work and continue to get the missing dll error message

Any other suggestions are welcome
Bil

----- Phil Wilson wrote: ----

You're not supposed to retarget the merge modules
http://support.microsoft.com/default...kb;en-us;32692

Do you have any installer classes or custom actions? That sounds like i
might be the problem
--
Phil Wilso
[MVP Windows Installer
Definitive Guide to Windows Installe
http://apress.com/book/bookDisplay.html?bID=28

"Bill Murray" <bi********@noemail.com> wrote in messag
news:32**********************************@microsof t.com..
I am using VS.NET 2003 and trying to deploy a service program(c++) to

Windows 2000 Server system. I have also written a small DLL (USSsetup.dll
that is used to start/stop the service using a custom action. This dll i
apparently dependent on the MSVCP71.DLL and MSVCR71.DLL's as per th
Detected Dependencies folder visible in the deployment project
All this good except I am UNABLE to Retarget the output of the msm merg modules(VC_USER_CRT71_RTL__X86_---.msm and VC_USER_STL71_RTL__X86_---.msm)
that contain the MSVCP71.DLL and MSVCR71.DLL's, to the System Folder. Th
[+]MergeModuleProperties does not allow for changes which may be the resul
of the merge module design(not sure) In any event, the problem I encounter during the installation process i the following error message during the installation... "There is a proble
with this Windows Installer package. A DLL required for this install t
complete could not be run. Contact your support personnel or packag
vendor. The reason I believe that I need to Retarget the output of these two merg modules to the System Folder is, that when using VS.NET 2002 and two simila
merger modules, retargeting the output solved the problem. Now with VS.NE
2003 I cannot seem to find any solution Any help is appreciated

Bill Murra


Jul 21 '05 #3
1) I believe there's a bug in those merge modules related to retargetable
folders. If you scroll down here, this may be what you're seeing:

http://www.installsite.org/pages/en/bugs_msi.htm

2) Service installation by running code is a royal pain. What you're seeing
is exactly what happens when code needs to run during the install, whether
it's Service installation or COM registration. It can't find it's
dependencies and it fails (but the dependencies aren't supposed to be in the
system folder!). MSI setups don't really need this at all - the
ServiceInstall and ServiceControl tables in the MSI file can do Service
installs without running code, but VS setups don't use them, they use
Installer classes and you get these issues.

It looks like you'll have to ignore the KB and install the raw DLLs into the
system folder to make this work. I think that should work because the files
are copied there before your custom action is called.
--
Phil Wilson [MVP Windows Installer]
----
"Bill Murray" <bi********@noemail.com> wrote in message
news:5F**********************************@microsof t.com...
Yes I have a DLL that has a custom action and its this dll that has a dependency on the Msvcr71.dll and Msvcp71.dll's. The knowledge base article
you mention was helpful but the merge module provided with VS.NET 2003 do
not seem to work (VC_USER_CRT71_RTL__X86_---.msm and
VC_USER_STL71_RTL__X86_---.msm).
The only thing that I can determine is that the two dll's are NOT getting installed into the System Folder. I base this on the knowledge base article
recommendations and the fact that by excluding the merge modules and
directly Adding the two dll's directly into the System Folder DOES WORK.
I would much rather use the merge modules and install the dll's in the Application Folder (as per recommendations in the knowledge base article)
but I cannot seem to make this work and continue to get the missing dll
error message.
Any other suggestions are welcome,
Bill

----- Phil Wilson wrote: -----

You're not supposed to retarget the merge modules.
http://support.microsoft.com/default...b;en-us;326922

Do you have any installer classes or custom actions? That sounds like it might be the problem.
--
Phil Wilson
[MVP Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

"Bill Murray" <bi********@noemail.com> wrote in message
news:32**********************************@microsof t.com...
> I am using VS.NET 2003 and trying to deploy a service program(c++) to a
Windows 2000 Server system. I have also written a small DLL (USSsetup.dll) that is used to start/stop the service using a custom action. This dll is apparently dependent on the MSVCP71.DLL and MSVCR71.DLL's as per the
Detected Dependencies folder visible in the deployment project. >> All this good except I am UNABLE to Retarget the output of the msm
merge
modules(VC_USER_CRT71_RTL__X86_---.msm and VC_USER_STL71_RTL__X86_---.msm), that contain the MSVCP71.DLL and MSVCR71.DLL's, to the System Folder. The [+]MergeModuleProperties does not allow for changes which may be the result of the merge module design(not sure). >> In any event, the problem I encounter during the installation
process is
the following error message during the installation... "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." >> The reason I believe that I need to Retarget the output of these
two merge
modules to the System Folder is, that when using VS.NET 2002 and two similar merger modules, retargeting the output solved the problem. Now with VS.NET 2003 I cannot seem to find any solution. >> Any help is appreciated,

> Bill Murray


Jul 21 '05 #4
Thanks Phil you were very helpful. Its appreciated

I had already done as you suggested below and installed the dll's directl
in the system folder and all my preliminary tests are working

Cheers
Bil

----- Phil Wilson wrote: ----

1) I believe there's a bug in those merge modules related to retargetabl
folders. If you scroll down here, this may be what you're seeing

http://www.installsite.org/pages/en/bugs_msi.ht

2) Service installation by running code is a royal pain. What you're seein
is exactly what happens when code needs to run during the install, whethe
it's Service installation or COM registration. It can't find it'
dependencies and it fails (but the dependencies aren't supposed to be in th
system folder!). MSI setups don't really need this at all - th
ServiceInstall and ServiceControl tables in the MSI file can do Servic
installs without running code, but VS setups don't use them, they us
Installer classes and you get these issues

It looks like you'll have to ignore the KB and install the raw DLLs into th
system folder to make this work. I think that should work because the file
are copied there before your custom action is called
--
Phil Wilson [MVP Windows Installer
---
"Bill Murray" <bi********@noemail.com> wrote in messag
news:5F**********************************@microsof t.com..
Yes I have a DLL that has a custom action and its this dll that has dependency on the Msvcr71.dll and Msvcp71.dll's. The knowledge base articl
you mention was helpful but the merge module provided with VS.NET 2003 d
not seem to work (VC_USER_CRT71_RTL__X86_---.msm an
VC_USER_STL71_RTL__X86_---.msm)
The only thing that I can determine is that the two dll's are NOT gettin installed into the System Folder. I base this on the knowledge base articl
recommendations and the fact that by excluding the merge modules an
directly Adding the two dll's directly into the System Folder DOES WORK
I would much rather use the merge modules and install the dll's in th Application Folder (as per recommendations in the knowledge base article
but I cannot seem to make this work and continue to get the missing dl
error message Any other suggestions are welcome

Bil
----- Phil Wilson wrote: ----
You're not supposed to retarget the merge modules

http://support.microsoft.com/default...kb;en-us;32692
Do you have any installer classes or custom actions? That sounds lik

i might be the problem
--
Phil Wilso
[MVP Windows Installer
Definitive Guide to Windows Installe
http://apress.com/book/bookDisplay.html?bID=28
"Bill Murray" <bi********@noemail.com> wrote in messag news:32**********************************@microsof t.com..
I am using VS.NET 2003 and trying to deploy a service program(c++

to Windows 2000 Server system. I have also written a small DL (USSsetup.dll that is used to start/stop the service using a custom action. Thi dll i apparently dependent on the MSVCP71.DLL and MSVCR71.DLL's as per th
Detected Dependencies folder visible in the deployment project All this good except I am UNABLE to Retarget the output of the ms
merg
modules(VC_USER_CRT71_RTL__X86_---.msm an VC_USER_STL71_RTL__X86_---.msm) that contain the MSVCP71.DLL and MSVCR71.DLL's, to the System Folder Th [+]MergeModuleProperties does not allow for changes which may be th resul of the merge module design(not sure) In any event, the problem I encounter during the installatio
process i
the following error message during the installation... "There is proble with this Windows Installer package. A DLL required for this instal to complete could not be run. Contact your support personnel or package
vendor." The reason I believe that I need to Retarget the output of these
two merge
modules to the System Folder is, that when using VS.NET 2002 and two similar merger modules, retargeting the output solved the problem. Now with VS.NET 2003 I cannot seem to find any solution. Any help is appreciated,

Bill Murray

Jul 21 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

6 posts views Thread by Lou Lipnickey | last post: by
reply views Thread by Chris Pratt | last post: by
4 posts views Thread by Bill Murray | last post: by
1 post views Thread by Andy | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by Marin | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.