Nikola Radovanovic
2008-01-01 20:36:58 UTC
hi,
I would like to ask following questions regarding omniORB-4.1.1 and
VS2005 manifest files:
According to Microsoft, application (or shared library) generated with
VS2005 needs 2 things to work on target machine without VS2005
installed: proper redistributables installed, and also manifest files
for given exe (dll).
I saw that omniORB-4.1.1 delivers manifest linked to its executables (ie
omninames) as a resource, which is OK, but checking given exe (with
resource hacker tool) - one will see that parameter for mt.exe is wrong
(it should be 1, but it is 2), regarding MS specification which can be
found on http://msdn2.microsoft.com/en-us/library/ms235591.aspx.
Also i have noticed that manifests for shared libraries are generated by
compiler, but neither one dll has linked manifest as a resource.
I would like to know if this 'manifest things' are done deliberately
(and if so-why)?
Personally, i edited win32.mk to correct exe problem, and added a line
to link manifest ot dll's also (patch is attached) . i supose that same
effect can be achieved by changing x86_win32_vs_8.mk, but i have not
done that.
best regards
nikola
-------------- next part --------------
*** ..\mk\win32.mk Thu Dec 27 13:09:30 2007
--- f:\shared\ORB-4.11\official\omniORB-4.1.1\mk\win32.mk Mon Oct 23 10:47:44 2006
***************
*** 173,179 ****
$(RM) $@; \
$(CXXLINK) -out:$@ $(CXXLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) \
$(filter-out $(LibPattern),$^) $$libs; \
! $(MANIFESTTOOL) /outputresource:"$@;#1" /manifest $@.manifest; \
)
endef
--- 173,179 ----
$(RM) $@; \
$(CXXLINK) -out:$@ $(CXXLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) \
$(filter-out $(LibPattern),$^) $$libs; \
! $(MANIFESTTOOL) /outputresource:"$@;#2" /manifest $@.manifest; \
)
endef
***************
*** 181,187 ****
(set -x; \
$(RM) $@; \
$(CLINK) -out:$@ $(CLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) $(filter-out $(LibPattern),$^) $$libs; \
! $(MANIFESTTOOL) /outputresource:"$@;#1" /manifest $@.manifest; \
)
endef
--- 181,187 ----
(set -x; \
$(RM) $@; \
$(CLINK) -out:$@ $(CLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) $(filter-out $(LibPattern),$^) $$libs; \
! $(MANIFESTTOOL) /outputresource:"$@;#2" /manifest $@.manifest; \
)
endef
***************
*** 359,365 ****
$(CXXLINK) -out:$$dllname -DLL $$extralinkoption \
$$defflag -IMPLIB:$@ $(IMPORT_LIBRARY_FLAGS) \
$^ $$extralibs $$resname; \
- $(MANIFESTTOOL) /outputresource:"$$dllname;#2" /manifest $$dllname.manifest; \
$(CP) $@ $$slibname;
endef
--- 359,364 ----
I would like to ask following questions regarding omniORB-4.1.1 and
VS2005 manifest files:
According to Microsoft, application (or shared library) generated with
VS2005 needs 2 things to work on target machine without VS2005
installed: proper redistributables installed, and also manifest files
for given exe (dll).
I saw that omniORB-4.1.1 delivers manifest linked to its executables (ie
omninames) as a resource, which is OK, but checking given exe (with
resource hacker tool) - one will see that parameter for mt.exe is wrong
(it should be 1, but it is 2), regarding MS specification which can be
found on http://msdn2.microsoft.com/en-us/library/ms235591.aspx.
Also i have noticed that manifests for shared libraries are generated by
compiler, but neither one dll has linked manifest as a resource.
I would like to know if this 'manifest things' are done deliberately
(and if so-why)?
Personally, i edited win32.mk to correct exe problem, and added a line
to link manifest ot dll's also (patch is attached) . i supose that same
effect can be achieved by changing x86_win32_vs_8.mk, but i have not
done that.
best regards
nikola
-------------- next part --------------
*** ..\mk\win32.mk Thu Dec 27 13:09:30 2007
--- f:\shared\ORB-4.11\official\omniORB-4.1.1\mk\win32.mk Mon Oct 23 10:47:44 2006
***************
*** 173,179 ****
$(RM) $@; \
$(CXXLINK) -out:$@ $(CXXLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) \
$(filter-out $(LibPattern),$^) $$libs; \
! $(MANIFESTTOOL) /outputresource:"$@;#1" /manifest $@.manifest; \
)
endef
--- 173,179 ----
$(RM) $@; \
$(CXXLINK) -out:$@ $(CXXLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) \
$(filter-out $(LibPattern),$^) $$libs; \
! $(MANIFESTTOOL) /outputresource:"$@;#2" /manifest $@.manifest; \
)
endef
***************
*** 181,187 ****
(set -x; \
$(RM) $@; \
$(CLINK) -out:$@ $(CLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) $(filter-out $(LibPattern),$^) $$libs; \
! $(MANIFESTTOOL) /outputresource:"$@;#1" /manifest $@.manifest; \
)
endef
--- 181,187 ----
(set -x; \
$(RM) $@; \
$(CLINK) -out:$@ $(CLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) $(filter-out $(LibPattern),$^) $$libs; \
! $(MANIFESTTOOL) /outputresource:"$@;#2" /manifest $@.manifest; \
)
endef
***************
*** 359,365 ****
$(CXXLINK) -out:$$dllname -DLL $$extralinkoption \
$$defflag -IMPLIB:$@ $(IMPORT_LIBRARY_FLAGS) \
$^ $$extralibs $$resname; \
- $(MANIFESTTOOL) /outputresource:"$$dllname;#2" /manifest $$dllname.manifest; \
$(CP) $@ $$slibname;
endef
--- 359,364 ----