[Bug 12414] Nikon Capture NX does not start

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Dec 20 12:39:08 CST 2008


http://bugs.winehq.org/show_bug.cgi?id=12414


Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net




--- Comment #4 from Anastasius Focht <focht at gmx.net>  2008-12-20 12:39:07 ---
Hello,

there are several bugs in the installer and wine/winetricks that makes me
wonder how you consider this thing "installed" without mentioning any errors
encountered.

Download: http://nikonusa.com/software/NX/1.3/win/CNX130NSAEN.EXE

$ sha1sum CNX130NSAEN.EXE -> f31b38e3bcca17c8050c207b79315c9be23d582d

Although not critical, I filed a separate bug 16577 for the first installer
problem because it highlights an important issue.

With 'sh winetricks vcrun2005sp1 dotnet20', the prerequisite installer proceeds
and comes to point where it compiles some .NET assemblies to native images
(pre-JIT).

Unfortunately the writer of the installer messed this also up.
Only god knows why the installer ships its own version of ngen.exe for
compiling assemblies.
This shipped ngen.exe is actually a copy of the original binary from .NET 1.1
Framework ngen.exe

--- snip ---
002e:trace:process:CreateProcessW app (null) cmdline L"ngen.exe /silent
NxCursors.dll"
...
002e:trace:process:CreateProcessW app (null) cmdline L"ngen.exe /silent
nik.GUIBase.dll"
...
--- snip ---

Now guess what happens when the shipped ngen.exe is run:

"To run this application, you first must install one of the following versions
of the .NET framework: v1.1.4322".

Of course - it binds by default to .NET 1.1 core (if not told otherwise, see
later workaround).

Why on earth do they ship v1.1 ngen.exe to JIT their .NET 2.0 assemblies when
.NET 2.0 Framework already has the correct ngen.exe for this task???

If the pre-JIT step succeeds the shipped "C:\\Program Files\\Nikon\\Capture
NX\\ngen.exe" is silently deleted.

Now one has following options: install .NET 1.1 Framework to get this
braindamage to work or use the following workaround:

Either by placing the following key/value in registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\OnlyUseLatestCLR=dword:00000001

or use environment variable 

COMPLUS_OnlyUseLatestCLR=1

before starting the installer.
This forces the shipped v1.1 ngen.exe to use the .NET 2.0, succeeding in
compilation of assemblies.

Be aware if you go the .NET 1.1 Framework installation route you *must* install
.NET 1.1 before .NET 2.0 - both using winetricks.

Something like: 'sh winetricks vcrun2005sp1 dotnet11 dotnet20'

But this currently won't succeed due to bug 12099 (.NET 2.0 installer will hang
in the end).

--- snip ---
..
trace:process:CreateProcessW app (null) cmdline
L"C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\aspnet_regiis.exe -iru"
...
trace:process:CreateProcessW started process pid 0067 tid 0068
...
fixme:advapi:RegisterEventSourceW ((null),L"ASP.NET 2.0.50727.0"): stub
fixme:advapi:ReportEventW
(0xcafe4242,0x0004,0x0001,0x400003f9,(nil),0x0002,0x00000000,0x33ed74,(nil)):
stub
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not
registered
err:ole:CoGetClassObject class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not
registered
err:ole:create_server class {a9e69610-b80d-11d0-b9b9-00a0c922e750} not
registered
fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
err:ole:CoGetClassObject no class object {a9e69610-b80d-11d0-b9b9-00a0c922e750}
could be created for context 0x17
wine: Unhandled exception 0xc06d007e at address 0x7b844dc0 (thread 0068),
starting debugger...
--- snip ---

Use the COMPLUS_OnlyUseLatestCLR=1 environment variable workaround for now.

After this mess is passed, it starts the final "Capture NX" installer which
ends up in bug 15887

--- snip ---
err:msi:msi_cabextract FDICopy failed
err:msi:ACTION_InstallFiles Failed to extract cabinet: L"Captur~1.cab"
err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned
1627
...
err:msi:msi_cabextract FDICopy failed
err:msi:ACTION_InstallFiles Failed to extract cabinet: L"#Data1.cab"
err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned
1627
fixme:shell:DllCanUnloadNow stub
--- snip ---

Although it seems that most of the stuff got installed, I wouldn't make any bet
that this thing works 100%.

Regards


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list