When I run the Office application and attempt to manually install the
add-in, I get a message saying that the add-in is not a recognised Office
add-in.
Can anyone here tell me where I may be going wrong?
The development language is VC++ v6.
--
Chris Jones
reply to: chris...@xxxtelespanxxx.co.uk
(remove the x's to reach me)
Andrei.
"Chris Jones" <ch...@xxxtelespanxxx.co.uk> wrote in message
news:TLSPCE...@telespan.co.uk...
> Anyway, at first try to run depends.exe from PSDK to look at what dlls
your
> stuff is dependent from.
The only dependancies are the standard MFC42.dll, MSVCRT.dll and
wsock32.dll. The first two are included in my install package and the third,
being protected, is excluded.
(Obligatory Advice: Populate the class tables, progid tables etc.)
"Chris Jones" <ch...@xxxtelespanxxx.co.uk> wrote in message news:TLSPCE...@telespan.co.uk...
--
Chris Jones
reply to: chris...@xxxtelespanxxx.co.uk
(remove the x's to reach me)
"Phil Wilson" <phil....@unisys.spamcom> wrote in message
news:OsysEQj8...@TK2MSFTNGP11.phx.gbl...
> mfc42.dll and msvcrt.dll are also protected files on Windows 2000, so you
shouldn't be attempting to
> install them either.
AIUI, from looking at Microsoft's site, that is not actually true. MFC42 and
MSVCRT are both distributable (provided that I have the Professional version
of C++ - which I do). According to the help page in VStudio, the Debug
versions are _not_ re-distributable - which is probably what you were
referring to.
> I'm wondering if your DLL requires a later version of mfc42.dll and
therefore
> requires some minimum SP level of Windows 2000. Note that running the
dependency walker on your
> development system won't show if your DLL is linking to missing
entrypoints in mfc42.dll because
> you've got the right version on your development machine.
The version numbers of each of the above dll's has _not_ changed since late
1999
>
> (Obligatory Advice: Populate the class tables, progid tables etc.)
>
I have been using VS Installer to generate the msi file. Neither of the
above appear to be populated (looking in Orca). How do I achieve that
without having to buy someone else's expensive installer package?
Is there a HOWTO document somewhere on the web that explains (in basic
language) how to do that?
Run this program if you want to see the whole list on Windows 2000.
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <sfc.h>
PROTECTED_FILE_DATA aFile = {0};
FILE *stream;
int main(int argc, char* argv[])
{
BOOL res = true;
long i=0;
stream = fopen( "sfcfiles.txt", "w" );
while (res)
{
res = SfcGetNextProtectedFile (NULL, &aFile) ;
if (res)
fprintf(stream, "%S\n", aFile.FileName);
}
fclose (stream);
return 0;
}
Got to http://www.installsite.org for tools and examples. Depending on what tool you're using, it
may have an option to extract it all for you. Visual Studio.NET will, so will InstallShield
Developer. In VS.NET's installer, go to the properties and set vsdrfCOM on the Dll, do a build and
it extracts it all.
"Chris Jones" <ch...@xxxtelespanxxx.co.uk> wrote in message news:TLSPCE...@telespan.co.uk...
>
>
"Phil Wilson" <phil....@unisys.spamcom> wrote in message
news:#65elek8...@TK2MSFTNGP12.phx.gbl...
> No I am not referring to the debug versions. You seem to be under the
impression that if a file is
> marked as redistributable you can install it anywhere you like, but that
is not the case. mfc42.dll
> and msvcrt.dll are protected files on Windows 2000. A whole bunch of files
are marked
> redistributable because you really do need to redistribute them on some
OSs (like NT 4, for example,
> for the mfc dlls).
My version of Visual Studio (not .NET, unfortunately) makes no mention of
the issue of protected files.
<snipped code>
> Got to http://www.installsite.org for tools and examples. Depending on
what tool you're using, it
> may have an option to extract it all for you. Visual Studio.NET will, so
will InstallShield
> Developer. In VS.NET's installer, go to the properties and set vsdrfCOM
on the Dll, do a build and
> it extracts it all.
As mentioned above, I do not have VS.NET, so this is not possible.
> > >
> > > (Obligatory Advice: Populate the class tables, progid tables etc.)
> > >
> > I have been using VS Installer to generate the msi file. Neither of the
> > above appear to be populated (looking in Orca). How do I achieve that
> > without having to buy someone else's expensive installer package?
??
> >
> > Is there a HOWTO document somewhere on the web that explains (in basic
> > language) how to do that?
??
Andrei.
"Chris Jones" <ch...@xxxtelespanxxx.co.uk> wrote in message
news:TLSPCE...@telespan.co.uk...
>
>
"Andrei Zakharov" <z_an...@NO-SPAMimail.ru> wrote in message
news:Ob8RCRs8...@TK2MSFTNGP10.phx.gbl...
> Why not install mfc42.dll and msvcrt.dll into the same folder
> where your dll is? Also it's required that mfc42.dll to be registered in
the
> registry.
>
Thanks for your response. My problem does not, I believe, have anything to
do with the re-distributable dll's, but lies in the fact that my own dll
does _not_ register, as I asked first of all. I have used the depends.exe to
look at dependancies and it comes up with two "warnings":-
APPHELP.DLL - cannot find this file. I have seen questions about this file
recently - is it something to do with the latest version of IE6?
MPR.DLL - At least one module has an unresolved import due to a missing
export function in a delay-load dependent module. The function that reports
the above error is WNetRestoreConnection.
What is the explanation of these errors? and how do I overcome them?
I wonder if anyone can also answer my two previous requests for information
in this thread:-
>
> (Obligatory Advice: Populate the class tables, progid tables etc.)
>
I have been using VS Installer to generate the msi file. Neither of the
above appear to be populated (looking in Orca). How do I achieve that
without having to buy someone else's expensive installer package?
Is there a HOWTO document somewhere on the web that explains (in basic
language) how to do that?
--
Hope this helps with at least one of your errors.
"Chris Jones" <ch...@xxxtelespanxxx.co.uk> wrote in
news:TLSPCE...@telespan.co.uk:
For the MPR.dll issue you are having - this is known to happen if you
are statically linking to MFC using Visual Studio .NET 2002 (current
release). You can at least fix this error by dynamically linking to MFC.
Jeff Briggs <jbr...@GET.RID.OF.THIS.futuredesigntech.com> wrote in
news:Xns934948D89EACDjb...@207.46.248.16:
--
Chris Jones
reply to: chris...@xxxtelespanxxx.co.uk
(remove the x's to reach me)
"Jeff Briggs" <jbr...@GET.RID.OF.THIS.futuredesigntech.com> wrote in
message news:Xns934949EB522A2jb...@207.46.248.16...
> Please disregard last post - what I meant to say was ...
>
> For the MPR.dll issue you are having - this is known to happen if you
> are statically linking to MFC using Visual Studio .NET 2002 (current
> release). You can at least fix this error by dynamically linking to MFC.
>
I am dynamically linking using Visual Studio 6, not .NET. So how can this be
the problem?
Andrei.
"Chris Jones" <ch...@xxxtelespanxxx.co.uk> wrote in message
news:TLSPCE...@telespan.co.uk...
Andrei.
"Andrei Zakharov" <z_an...@NO-SPAMimail.ru> wrote in message news:...
"Andrei Zakharov" <z_an...@NO-SPAMimail.ru> wrote in message
news:eKhA00u8...@TK2MSFTNGP11.phx.gbl...
> What you have actaully to do is to get into the code on the box it doesn't
> work: at least try to put message boxes, etc. I had several situation that
> was caused by lacks in my code, e.g. absence of type library for my COM
> component when _AtlModule.DllRegisterServer was called, etc.
>
How do I get message boxes into an MSI package?
> "Andrei Zakharov" <z_an...@NO-SPAMimail.ru> wrote in message news:...
> > Don't bother with those dlls, it's legal situation, because they're
> delayed
> > load dlls, e.g. APPHELP.DLL is actual for XP only.
> > BTW, what is the process of registering by itself? regsvr32? Can you
> attach
> > a debugger to a process on remote machine?
If I attempt to register using regsvr32, I get a similar failure to register
with "Load Library ("DLL Name") failed. The specified module could not be
found" in a message box.
How would I attach a debugger to the installer?
1) Can you successfully run regsvr32 on your development box? If yes, then
just put regsvr32 into Debugging->Command property of your project (if it's
VC++ 7 if I remember) to get into DllRegisterServer.
2) If you run regsvr32 on the other box try to attach your VS debugger to
running regsvr32 on the other box, read your doc for details. The only
moment in this case is to put MessageBox into DllRegisterServer to stick
regsvr32.
3) I meant to put MessageBoxes into DllRegisterServer to look does it come
to this point. If so, the problem isn't in dll dependencies.
Andrei.
"Chris Jones" <ch...@xxxtelespanxxx.co.uk> wrote in message
news:TLSPCE...@telespan.co.uk...
>
>
"Andrei Zakharov" <z_an...@NO-SPAMimail.ru> wrote in message
news:#Af2zy28...@TK2MSFTNGP11.phx.gbl...
> Chris,
>
> 1) Can you successfully run regsvr32 on your development box? If yes, then
> just put regsvr32 into Debugging->Command property of your project (if
it's
> VC++ 7 if I remember) to get into DllRegisterServer.
I am actually using VC++ 6. Is this route still possible?
>
> 2) If you run regsvr32 on the other box try to attach your VS debugger to
> running regsvr32 on the other box, read your doc for details. The only
> moment in this case is to put MessageBox into DllRegisterServer to stick
> regsvr32.
Can you tell me how I can attach the VS debugger to the other PC? I did not
think that was possible and cannot immediately find anything about this in
Microsoft's VS documentation.
>
> 3) I meant to put MessageBoxes into DllRegisterServer to look does it come
> to this point. If so, the problem isn't in dll dependencies.
I presume that you mean the function in my main program module called
DllRegisterServer.
Of course, Project Settings->Debug->Executable for debug session.
> > 2) If you run regsvr32 on the other box try to attach your VS debugger
to
> > running regsvr32 on the other box, read your doc for details. The only
> > moment in this case is to put MessageBox into DllRegisterServer to stick
> > regsvr32.
> Can you tell me how I can attach the VS debugger to the other PC? I did
not
> think that was possible and cannot immediately find anything about this in
> Microsoft's VS documentation.
Debugging Remote Applications
http://msdn.microsoft.com/library/en-us/vccore98/html/_core_debugging_remote
_applications.asp
Also, you can find useful to look at:
Can I Debug a .DLL Without a Project or Workspace?
http://msdn.microsoft.com/library/en-us/vccore98/html/_core_can_i_debug_a_..
dll_without_a_project_or_workspace.3f.asp
How Can I Debug Access Violations When Running My Program Standalone?
http://msdn.microsoft.com/library/en-us/vccore98/html/_core_how_can_i_debug_
access_violations_when_running_my_program_standalone.3f.asp
the last topic can be used if you put
__asm int3;
line in your code allowing to get into debugger every time it's reached.
Andrei.