all groups > dotnet setup > march 2005 >
You're in the

dotnet setup

group:

NightMerge Modules


NightMerge Modules sergega4 NO[at]SPAM yahoo.fr
3/25/2005 10:09:10 AM
dotnet setup:
Trying to install a .exe generated by MS VSC++.Net ("Initiation" for my own),
on a "non developper" PC, I 've receive like many of us, "missing
MFC71.dll...".
After discussing on the newsgroup someone told me to use the .msm (Merge
Modules techniques) supplied with my VSC++.net in the "Program Files\Commun
files\Merge Modules" folder and related to the missing .dlls not
distributable (If I have understood well the MS "redist.txt").
I've open a deployment project, add anything I needed and use the "Project"
"add" "merge modules" to choose the three .msm files provided to palliate the
lack of *71.dll on client's PC.

Las... the running of the setup produced by a "deployment project" has been
to copy the 3 .msm files in the same folder than my .exe (why, I don't know ?
I thought the mechanism will be to merge them into the .exe or to copy them
in a known (by the exe) folder like the .dll in the "Windows\system32"
folder...? could anyone explain me what is the "completing mechanism" once
working) and the same fatidic message appears when trying to launch my .exe.
"missing mfc71.dll...."
Help !
Thanks
Xav






Re: NightMerge Modules Phil Wilson
3/25/2005 10:21:57 AM
You don't *copy* the merge modules to the client system, you right-click the
project in Solution Explorer of the Setup project and select Add Merge
Module. A merge module is like a pre-packaged section of an MSI file so it
needs merging into your MSI setup project.
--
Phil Wilson [MVP Windows Installer]
----
"sergega4@yahoo.fr" <sergega4yahoofr@discussions.microsoft.com> wrote in
message news:FF793BC6-5712-436A-A025-E7D4A5049521@microsoft.com...
[quoted text, click to view]

Re: NightMerge Modules sergega4 NO[at]SPAM yahoo.fr
3/25/2005 11:09:02 AM
Thanks Phil, but what's you explain (and it makes sense) is already what I
ve tried to do and describe in my notes below.
Unfortunatly, at the use, it (the setup) copies the .msm in the same
directory of my .exe and those always miss the .dll when trying to launch
(for this time on a 98 scdEd, I will try on other systems).
Gloups, I don't know?...
Any idea ?

Xavier

[quoted text, click to view]
Re: NightMerge Modules Phil Wilson
3/25/2005 12:43:47 PM
If those actual .msm files are being installed onto the system, you must be
doing it wrong. I'm not sure what you're doing, but the .msm files do not
need to be on disk (are they in the Application Folder - delete them if they
are). You should be getting the Dlls on disk, that's the way it's supposed
to work.
--
Phil Wilson [MVP Windows Installer]
----
"sergega4@yahoo.fr" <sergega4yahoofr@discussions.microsoft.com> wrote in
message news:6E2EDF76-EAFB-4701-B290-8573DFC317B8@microsoft.com...
[quoted text, click to view]

Re: NightMerge Modules sergega4 NO[at]SPAM yahoo.fr
3/25/2005 2:59:03 PM


[quoted text, click to view]

You're absolutely right but it didn't tell me where I'm wrong.
To summarize, I'd say :

-Open a new deployment project
-Create n subfolders in my Application Folder
-Put files where desired (for instance the .exe files (in an exe folder) the
ones I'd like to see working on client's PC)
-Click the Focus to the (main at the root of Folders) "System Files target
computer" and in the "Project" menu, choose "Add" and "Merge Modules" (they
appear in the right subwindows - sol explorer - with the list of the whole
embedded files) and then
- Generate the solution to get a setup.exe

Am I wrong anywhere ?
below, another question

[quoted text, click to view]

I wonder about your last sentence.

On the "client" PC where the application is supposed to be set on, what are
the news files the installation is supposed to deliver, and are they visible
in the explorer ? Are the .msm supposed to be copy anywhere (I don't think
so, it should be logical to imagine that if Microsoft does'nt want to deliver
directly its .dlls, those ones could be hiden in the .exe or these .exes can
dyn-link to something (but what ?).

Thanks

Xavier
[quoted text, click to view]
Re: NightMerge Modules Phil Wilson
3/26/2005 10:26:10 AM
That's right. I'll do another test myself to verify, but it also occurs to
me that your problem might be that each of your exes needs these DLLs, but
you've got them all in different folders. Those DLLs are side by side, so
every exe needs them. Merge modules are a packaging mechanism, but they
don't solve the problem of you having multiple exes in different folders
that all need their own copy of these DLLs.
--
Phil Wilson
[Microsoft MVP-Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

"sergega4@yahoo.fr" <sergega4yahoofr@discussions.microsoft.com> wrote in
message news:1FCD6C5A-980E-4726-87DD-0DAB312228DE@microsoft.com...
[quoted text, click to view]

Re: NightMerge Modules sergega4 NO[at]SPAM yahoo.fr
3/27/2005 5:39:02 PM
[quoted text, click to view]



My exes are in a common folder, I guess I misunderstood what the "merges"
were supposed to do. The only working case I meet was the one where the dlls
embedded in the .msm were deployed by the setup in the same directory than
the exe... which obviously works, but if it is THE searched case what is the
interest of the merges technique since we could directly include the dlls in
the exe folders by ourselves (via the setup) ???
If my treatment is the correct one, I misunderstand its interest,
either still I'ven’t I applied the good one, since I've never succeeded to
get the good explanation on what is the underlying idea and what are we
supposed to see setup by the install on the non-dev PC that makes the exes
run if the dlls are not present ?
Maybe I'll finally get the idea, one day ?
Who knows ?
Xavier





[quoted text, click to view]
Re: NightMerge Modules Phil Wilson
3/28/2005 7:52:47 AM
I think you're seeing this because those merge modules are internally
defaulting to install to TARGETDIR, and that's your Application Folder. I
was thinking there's way to set the destination for the merge module
content, but there doesn't seem to be a way to do that in VS.
--
Phil Wilson
[Microsoft MVP-Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

"sergega4@yahoo.fr" <sergega4yahoofr@discussions.microsoft.com> wrote in
message news:910622FB-A152-4D0F-AA29-0F8A50F29DFF@microsoft.com...
[quoted text, click to view]
Re: NightMerge Modules sergega4 NO[at]SPAM yahoo.fr
3/28/2005 2:45:05 PM


[quoted text, click to view]

Yes

[quoted text, click to view]

Yes it seems, but is it legal to provide (since it is the case) the MS dlls
even if this is done using MS "recommandation" (Use Merge Modules !).
The merge modules content are obsviously the 3 interesting (mfc71, msvcp71
and msvcr71) dlls in my case, which means deploying these files has the same
result that copying them to the non-dev PC like anyone could have done
without merge...?
I thought the mechanism would be more subtil (inclusion of assembly in the
exe deployed by the setup compensating the lack of dlls, or "dynload" of
something protected by the system).
I still wonder.
Thanks Phil.
Xavier

[quoted text, click to view]
AddThis Social Bookmark Button