-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bypass the license; updated manual #3
Conversation
It's weird that you have to generate a license code at all. Why is that? |
Hi, Basically it’s to write the registered user name into Windows registry table, so that the Abort dialog and main GUI could have something to display. An interesting side effect is: in this way, a generated, valid license code in Windows registry table can also be used to activate the old Corman Lisp 3.0 software downloaded from Corman’s web site. Chun Il giorno 24/mag/2015, alle ore 14:16, Luís Oliveira notifications@github.com ha scritto:
|
Could we remove the need for registration altogether? (Of course, that may be more complicated and you may not have time to pursue that. I'm just curious.) |
It’s possible in theory, but the registration info is also accessible from Lisp through some APIs, completely removing all these things requires careful work and may break the backward compatibility. Time is not the first consideration, but I’d like to use limited time to focus on the kernel code of Corman first. Since I can build (I have a VS2005 environment from workplace) and run it right now, my next step is to port some important third CL packages to Corman, and fix CL standard compatibilities if I can find and I can do. Il giorno 24/mag/2015, alle ore 14:33, Luís Oliveira notifications@github.com ha scritto:
|
@binghe thanks for sending me a binary. I will try to test it later today! If this is the first version that doesn't require a license, then perhaps it is worth a release, do you agree? |
Yes, I think so. There’s one more thing: if you try it on UAC-enabled systems like Windows 7, the registration process will require Administrator privilege, for just one time. I think maybe I can put one more ling of code into the program to let it explicitly requires this privilege by using some UAC win32 APIs. Il giorno 25/mag/2015, alle ore 12:20, Luís Oliveira notifications@github.com ha scritto:
|
Luís Oliveira notifications@github.com writes:
I don't have a build environment setup, no. |
@luismbo do you have Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) installed in your Windows 8 environment? I don't have a Windows 8 environment, but I have Windows 8.1 x64, and CormanLisp.exe runs perfectly there (see the screenshot). |
And Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) can be downloaded here: https://www.microsoft.com/en-US/download/details.aspx?id=5638 |
@binghe I see. Should we include the MSVC++ runtime in the CormanLisp zip file? Is there any drawback to doing that? |
I'm not sure, if we could have a web site to provide future Corman releases, I would suggest that we put a note and a download link of msvcr80 (Microsoft.VC80.CRT) separately, otherwise another more obvious solution is to directly pack the DLL into the Corman Lisp folder, to make it live with CormanLisp.exe and other execution files. In this way, after you've extracted the zip file, you got it running without any issue. If in the future we can bring the InstallShield-based installer back or find another MSI solution, the installer will take care of the installation of msvcr80. P. S. LispWorks, even in the recent new release 7.0, is also built by Visual Studio 2005 and therefore their executions must depend on msvcr80 (Microsoft.VC80.CRT), the same thing as Corman does. Previously LispWorks installer will put the DLL together with lw.exe but since 6.1 release they seems only support the DLL in WinSxS folder, but in 7.0 the private DLL works again. Any way, maybe there's a reason they can't easily upgrade to more recent Visual C++ versions, but I can see the fact that, as long as there's no way to build Corman by a free expression edition of Visual Studio, there's no need to do the upgrade too soon. (I did try to build Corman in Visual Studio 2013 today, clconsole.exe works just fine, IDE has some bugs but looks fixable, I can push the upgraded project files if you accept current pull request) |
@binghe I vote for including the runtime in a release zip. For the time being, we can use GitHub's Releases functionality which allows uploading binaries. |
@luismbo Very well, then give me time to adjust scripts and make a new release package. This time I use .zip format to make sure every clean Windows system can directly extract it, and I put msvcr80 (Microsoft.VC80.CRT) DLLs directly into Corman folder and I run a test on clean Windows 8 systems to make sure it works, and in the registration window I put notes to let user run it again in Administrator privilege if it failed writing the registry table. After all these work, I will share a new binary file to you from Dropbox. |
@binghe I've tried the latest zip you've sent me. It didn't trigger any sort of UAC for me, FWIW. Regarding the runtime DLLs, I'm pretty sure copying the Microsoft.VC80.CRT (and .MFC) directories to the Corman Lisp directory should work. That process is described at https://msdn.microsoft.com/en-us/library/ms235291(v=vs.80).aspx under the section "Deploying Visual C++ library DLLs as private assemblies". Does that work? |
OK, now I see what's wrong: I'm using Visual Studio 2005 SP1, and Roger Corman was using Visual Studio 2005 without service packs, therefore our VC80 runtime versions are different. If the CormanLisp.exe.manifest file is not updated, then even I copy Microsoft.VC80.CRT and Microsoft.VC80.MFC two directories to CormanLisp directory, it won't work. But once I've updated VC project settings to let it re-generate the manifest file, everything works now. Now please try the new .zip package I just sent to you, this time we have Visual C++ library DLLs as private assemblies. (P. S. UAC warnings on unsigned apps only pop-up once for the same binary, and if you have finished the user registration before, the Corman registration window won't show again unless you clean your registry table using the "cleanlicense.reg" file in Corman's Git source. |
It works now. Thanks. :-) Are you happy with the current state of this pull request? |
Yes, I do. Il giorno 31/mag/2015, alle ore 17:29, Luís Oliveira notifications@github.com ha scritto:
|
Bypass the license; updated manual
@binghe merged the pull request and posted your zip file here: https://github.com/sharplispers/cormanlisp/releases/tag/v3.02 Thanks! |
@binghe out of curiosity, why is this 3.02 instead of 3.01? :-) |
@luismbo, thanks for accepting this pull request finally. For your version question, I think version "3.02" means the last official release (3.0) plus the first two loadable patches. Roger Corman ever designed a patch facility for Corman Lisp: every time when Corman Lisp IDE starts, it will try to get the loadable patches from a server hosted by Corman's company, and these patch levels, if merged into Corman Lisp mainstream source, will cause the minor version part increased. Given the fact that currently there're totally three patches available for the official 3.0 release, therefore I guess the third patch hasn't been merged into the mainline code yet. I have the patch code, and if I successfully merged it into the current Git code base, the resulting Corman version should become "3.03". |
Hi, I just re-confirmed the three patches downloaded from Corman's patch server, they're binary patches unless with Lisp code changes. Only the first two patches contains Lisp code, and the changed version should be in our Git code base. For the third patch, I don't know if it's in our code base right now, but given the fact that the patch was made in 2007, it's quite possible that it's also part of out Git code base. I think our next community release should be named at least as "3.1". And there should be task to remove or disable those patch server checking code because there will be no patch available from Corman Company's server any more. |
Yes, #5 is exactly what I suggested. |
@binghe makes sense. I've added you to https://github.com/orgs/sharplispers/teams/cormanlisp-maintainers and created a 3.1 milestone. |
Thank you very much, I’ll try my best to contribute more. Il giorno 01/giu/2015, alle ore 23:01, Luís Oliveira notifications@github.com ha scritto:
|
No description provided.