Bug 48259 - ooowintool does not recognize files in external\msm90
Summary: ooowintool does not recognize files in external\msm90
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
Master old -3.6
Hardware: x86 (IA32) Windows (All)
: medium normal
Assignee: Andras Timar
URL:
Whiteboard: target:3.6.0
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-03 09:55 UTC by Regina Henschel
Modified: 2012-04-24 00:50 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Regina Henschel 2012-04-03 09:55:58 UTC
During configure the part ooowintool tries to copy the files
Microsoft_VC90_CRT_x86.msm
and
policy_9_0_Microsoft_VC90_CRT_x86.msm
from
/cygdrive/C/Program Files/Common Files/Merge Modules/Microsoft_VC90_CRT_x86.msm
to
external\msm90

There are bugs with this
(1)
README_msm90.txt in external\msm90 tells that the files ... have to be copied into this folder. I have done this, but ooowintool does not notice that the files are already there and tries to copy them.
(2)
ooowintool expects the files in Program Files/Common Files/Merge Modules. But I have a German WinXP and that folder does not exist. But on a German WinXP it is C:\Programme\Gemeinsame Dateien\Merge Modules
(3)
Although I have set the configure option  --enable-dbgutil ooowintool copies only the normal *CRT* files, but not the debug files *DebugCRT*.

Configure fails because of this bug. I have workaround this bug by creating the folder and subfolder Program Files/Common Files/Merge Modules and copying the needed files to it.
Comment 1 Andras Timar 2012-04-23 09:55:24 UTC
@Regina: oowintool in fact looks for the %CommonProgramFiles% environment variable, don't you have it defined under German Windows XP? If not, we need to find a better way to find the common program files folder.
Comment 2 Regina Henschel 2012-04-23 11:39:40 UTC
No, such environment variable is not defined. And I'm pretty sure, that I had not deleted any environment variable. It seems to be no default variable.

Couldn't you use the folder external\msm90 directly, as last step, if all other search fails? external\msm90 contains a readme, that tells to put the files into that folder.

I think, telling to set an environment variable, would contradict the aims of ooowintool.

I have searched in the registry - don't know whether it is usable - and found:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS
with Name
MSMDir
and Typ
REG_SZ
and Wert
C:\Programme\Gemeinsame Dateien\Merge Modules\
where those files are.

The files themselves have registry items in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-2-18\Components\
Comment 3 Not Assigned 2012-04-24 00:39:49 UTC
Andras Timar committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=1f9b45377039f5839f8ee4dde265a297ec146062

fdo#48259 take MSMDir from registry
Comment 4 Andras Timar 2012-04-24 00:50:17 UTC
@Regina:
(1) The files are copied to the tree always on purpose. This way we can ensure that we pack the latest version, not some older version that may be left in the tree.
(2) Solved, thank for the research on the right registry value. Now we look for HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\MSMDir, it is much better than the previous guesswork.
(3) Our build does not package debug CRT files, because those are not redistributable, and you probably don't need them anyway because you can debug the application without them. Probably you don't want to trace into CRT, bugs are usually in LibreOffice code, not in CRT.