Anim8or Community
General Category => Anim8or v0.98 Discussion Forum => Topic started by: selden on July 28, 2015, 03:01:08 pm
-
Bug:
It would be nice if Anim8or did not need to be run once from an Administrator account.
The first time Anim8or (any version, including the most recent v0.98a [build 1179]) was ever run under Windows 7 (x64 Enterprise in this case), it crashed immediately with no error messages when it was run from an account that did not have administrator privileges.
It crashed (with no error popups) every time it was run until it was been run once from a privileged account.
When it was run from an Administrator account, it ran with no errors.
When it then was run from a non-privileged account, it generated an error popup complaining that it could not register a file type but otherwise seemed to work fine.
The next time it was run from the same non-privileged account, no error popup appeared and it worked fine.
My guess is that when it was crashing, it was trying (and failing) to create an entry in the system registry and was not failing gracefully. If that is what was happening, it'd be nice if it tried only to create entries in the registry of the non-privileged user.
-
Anim8or associates the .an8 extension with anim8or.exe when it is first run so that double clicking on a .an8 file will launch Anim8or. This file association entry in the registry is supposed be (or at least used to be when I took the Windows development class about 100 years ago) user writable.
I don't fully understand what is happening but I'll look into it. Can you run anim8or.exe form a command line with the parameter:
-traceinit
and send me the output? I really only need the first few lines, up to and including the "CPU = " line.
-
begin: InitInstance()
call: AppInitRegistry()
creating dummy window.
dummy window created.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 1).
end: Draw3DOpenGL::ChoosePixelFormat() return value = 7.
begin: Draw3DOpenGL::CreateContext(pixelFormat = 7).
end: Draw3DOpenGL::CreateContext() return value = 0x00010000.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 8).
end: Draw3DOpenGL::ChoosePixelFormat() return value = 43.
dummy window destroyed.
creating main window.
main window created.
Anim8or = 0.98a (build 1179) 14-May-15.
OS = Windows 7 Service Pack 1 (6.1) build 7601.
CPU = x86 Intel Pentium 8 cores model 30 stepping 5.
creating final OpenGL context.
UsingDummyWindow = true.
begin: Draw3DOpenGL::CreateContext(pixelFormat = 43).
------
Sorry for the delay in getting back to you.
Unfortunately, the log above is on a system where Anim8or has already been run. I'm at home right now and don't have access to any computers where it hasn't been run. I'll try to get access to one at work on Monday.
-
And here's the log on my home computer for build 1183, which seems identical
------
begin: InitInstance()
call: AppInitRegistry()
creating dummy window.
dummy window created.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 1).
end: Draw3DOpenGL::ChoosePixelFormat() return value = 7.
begin: Draw3DOpenGL::CreateContext(pixelFormat = 7).
end: Draw3DOpenGL::CreateContext() return value = 0x00010000.
begin: Draw3DOpenGL::ChoosePixelFormat(samples = 8).
end: Draw3DOpenGL::ChoosePixelFormat() return value = 43.
dummy window destroyed.
creating main window.
main window created.
Anim8or = 0.98a (build 1185) 03-Aug-15.
OS = Windows 7 Service Pack 1 (6.1) build 7601.
CPU = x86 Intel Pentium 8 cores model 30 stepping 5.
creating final OpenGL context.
UsingDummyWindow = true.
begin: Draw3DOpenGL::CreateContext(pixelFormat = 43).
-
This isn't due to accessing the registry. It is failing when creating the OpemGL graphics context. I don't quite understand why. Let me look into it and get back to you.
I'm going to SIGGRAPH today and will get back Thursday.
-
Steve,
I'm very sorry, I wasn't clear enough in my responses. Those two terminal logs were for *successful* runs of Anim8or. I truncated them because you said you didn't need them past the line containing the CPU= information, but I included a couple more lines.
The terminal output includes only two lines for a failing run of "Anim8or -traceinit" on a computer where it has never been run before:
begin: InitInstance()
call: AppInitRegistry()
I have attached a partial screengrab of such a failure, including the error popup "Anim8or has stopped working". Please let me know how to provide whatever additional information you need.
-
OK then it's caused by writing the registry to associate Anim8or with the. an8 file extension.
-
Can Anim8or be run as an Admin by right clicking it's icon and setting properties to run as admin?
-
That should be possible, but I'd like to be able to run it on a computer without using administrative credentials.
-
You should only need to run as an administrator once. After that the registry isn't updated.. Try this and let me know if it works.
Thanks, Steve.
-
I understand, and that does work, but there are cases where people would like to be able to run Anim8or who don't have admin privs. It'd be really nice if it weren't necessary at all.