ActiveState Powered by ActiveState

ActiveState Community


Perl Dev Kit

Problem installing PerlDevKit 7.2.0

OS: Windows | Product: Perl Dev Kit | tags: installation PDK
Question:

Case #1 - The PerlNET component is disabled in the installer. PDK installs but I don't get PerlNET.

Case #2 - The PerlDevKit gets past creating shortcuts, but not much further, then it fails silently and starts rolling back.

Case #3 - I keep receiving an error message that says "Error writing to file: Perl510RT.dll. Verify that you have access to that directory." (can be one of several Perl510xx.dll files)

Answer:

PerlNET in PerlDevKit 7.2.0 requires .NET 1.1 and .NET 2.0, with SP1 for both being strongly recommended.

In Case #1 there is no .NET installed. PDK detects this and automatically disables PerlNET.
In Case #2 only .NET 1.0 is installed.
In Case #3 only .NET 1.1 is installed.

You have two options. You can either install .NET 1.1 and .NET 2.0, then proceed with a full installation of PerlDevKit, or you can disable the PerlNET component of PerlDevKit during the PDK installation process (as is done automatically in Case #1). Either should allow you to complete the install.

PDK 7.0 error - plc.exe not recognized

OS: Windows XP Pro | Product: Perl Dev Kit | tags: .net not recognized perlnet plc
Question:

For some reason, plc.exe has stopped working on my system. When I try to run it, I get a pop-up with the title ".NET Framework Initialization Error" and the text "Unable to find a version of the runtime to run this application."

I have tried re-installing both the PDK and the .NET framework, but nothing has helped. I'm patched to date. Other .NET applications are still working fine.

Any suggestions?

Answer:

This message results from changes to .NET security behavior that Microsoft introduced with Security Fix KB928365. The previous work-around was to remove KB928365.

As of July 2007, Microsoft has added the Security fixes found in KB928365 into KB928366, which is the .NET 1.1 Hotfix, and KB928367, which is the .NET 1.0 Hotfix. As a result, ALL .NET installations will exhibit this problem if patched to date.

As of November 30 2007, Microsoft has released .NET 2.0 SP1 which rolls up all previous security fixes, and makes changes to .NET 2.0 in preparation for .NET 3.0 SP1 and .NET 3.5. PDK 7.0.0 will NOT be compatible with .NET 2.0 SP1, .NET 3.0 SP1, or .NET 3.5.

It is possible to work around this problem using the following steps:

Exclusion- Does not apply to Vista. Vista incorporates .NET differently from other versions of Windows.
Warning- Any versions of Visual Studio in use must be installed before starting this workaround. It has not been verified, but it is quite possible that some features of recent Visual Studio versions may be broken by this workaround. Because of the changes to .NET, it may not be possible to have certain versions of Visual Studio on the same system as PDK 7.0.0.

1. Check Microsoft Update. Install any critical updates that are NOT labeled as being part of .NET (This is not compulsory, but may save you some annoyance as you otherwise need to be careful about your default selections as you work through the process).
2. Turn off automatic update, use add/remove programs to uninstall ALL versions of .NET, and restart.
3. Deselect any critical updates available at this point. Go to the optional software section. Select the following:
.NET 1.1
.NET 2.0 KB829019
.NET 3.0 KB928416 (if desired)
(.NET 1.0 Compact Framework SP3 and .NET 2.0 Compact Framework may also be added if desired)
Install all the selections you make in this section simultaneously to save time.
4. Install:
.NET 1.1 SP1 (11/30/2007 last update)
Allow the reboot.
5. Install:
.NET 1.1 Hotfix KB928366
Allow the reboot.
6. KB928365 is no longer available from the Microsoft Update agent. You can still download and install it from here:
http://www.microsoft.com/downloads/details.aspx?familyid=BA3CEB78-8E1B-4...
The open browser will cause the installation to stall, but you can simply close the browser and tell the installer to re-try. Allow the reboot.
7. Open add/remove programs tool. Ensure show updates option is selected. Uninstall KB928365. Ensure Auto-update remains off.
8. PDK applications should now work.
- You may now install .NET 3.0 Update KB932471 if you are using .NET 3.0.

- DO NOT install .NET 2.0 SP1 (or .NET 3.0 SP1 or .NET 3.5 when they become available). If you install .NET 2.0 SP1 you must start over at step #2.

Why the order is important-
.NET 2.0 must be loaded in order to load KB928365. KB928366 will allow KB928365 to be installed after it, even though 366 contains files from 365. When KB928365 is loaded over KB928366, the uninstaller gets the references which allow it to remove only the offending portions of 366 when it removes 365. However, .NET 2.0 SP1 will block KB928365, and the changes made to .NET 2.0 in SP1 cannot be backed out, so if SP1 has been installed you have to start over.

If you need to work with .NET 2.0 SP1, .NET 3.0 SP1, .NET 3.5, or Vista; your current option is to wait for the next release of PDK 7.0, which should address the root cause of this problem.

PDK 7.0 - Error 2908/problems installing PerlRT.dll during Perl Dev Kit installation

OS: Windows | Product: Perl Dev Kit | tags: .net error 2908 PDK perlrt.dll
Question:

I get an "Internal error 2908" and then "An error occurred during the installation of assembly 'PerlRT69.dll'..." (or 'PerlRT70.dll,... depending on the version of PDK) during the installation of the Perl Dev Kit. What causes this? How can I proceed with the installation?

Answer:

The errors above are caused by the machine in question not having a Microsoft .NET runtime installed. There are two ways to handle the situation:

  • install a .NET runtime from Microsoft (.NET 3.0 is not yet supported)
  • restart the PDK installation and deselect the PerlNET component -- it isn't useful without an installed .NET runtime

Either case will allow the installation to proceed.

"No perl found at C:\perl\bin\perl.exe" when using PerlApp

OS: Windows | Product: Perl Dev Kit | tags: error path PDK perlapp
Question:

When I try to use PerlApp I get the following error: "No perl found at C:\perl\bin\perl.exe" -- but that file is really there. What's going on, and how can I fix it?

Answer:

This message is usually caused by the directory containing cmd.exe not being found in your PATH environment variable. The usual directory to ensure is there is C:\Windows\System32. If it's missing, simply add it and PerlApp will work as expected.

Making expiring ("time bombed") executables with PerlApp.

OS: All / Any | Product: Perl Dev Kit | tags: perlapp
Question:

Can I put a time limit on my executeable which I create with PerlApp?

Answer:

Yes. This sample program will run normally when you invoke it as `perl expire.pl`, but will refuse to run after the expiration date when it has been compiled with PerlApp.

You could hard-code the expiration data in your program, or you can supply it when you build the executable and retrieve it inside your application from a bound file:

BEGIN {
    return unless defined $PerlApp::VERSION;
    my $expire = PerlApp::get_bound_file("expire") or return;
    my($y,$m,$d) = (localtime)[5,4,3];
    my $today = sprintf("%04d-%02d-%02d", $y+1900,$m+1,$d);
    return if $today le $expire;
    print "expired\n";
    exit;
}
print "ok\n";

For example:

c:\tmp> date /t
Wed 02/14/2007 

c:\tmp> perlapp -f --nologo --bind expire[data=2007-02-13] expire.pl

c:\tmp> expire
expired

c:\tmp> perlapp -f --nologo --bind expire[data=2007-02-14] expire.pl

c:\tmp> expire
ok

PerlSvc: Current Working Directory for Windows Services.

OS: Windows | Product: Perl Dev Kit | tags: cwd PerlSvc
Question:

PerlSvc: What is the current working directory of a Windows Service?

Answer:

The Windows Service control Manager uses C:\WINNT as the current working directory, not the directory where the PerlSvc executable is stored.

PerlMSI Starter

OS: Windows | Product: Perl Dev Kit | tags: PDK MSI perl
Question:

I installed the Perl Dev Kit but don't see an icon for the PerlMSI utility. Am I missing something?

Answer:

PerlMSI does nt have a gui interface but instead a script ( 'msiwiz.pl' ) and MSI::Installer module. Our best suggestion for getting started with PerlMSI would be to read the documentation:

http://aspn.activestate.com/ASPN/docs/PDK/6.0/PerlMSI/PerlMSI.html

...and take a look at the PerlMSI sample in the samples directory.

As well you will need to install the Microsoft Installer technology SDK.

Perl Dev Kit redistribution rights

Question:

Can I distribute perl5x.dll with my PerlApp generated application?

Answer:

Perl Dev Kit users are allowed to redistribute perl56.dll, perl58.dll,
perlnh60.dll and perlrt60.dll as required by their application dependencies. There is no charge for this redistribution. For more information, please refer to the Licensing and Reditribution terms included with the PDK documentation:

http://aspn.activestate.com/ASPN/docs/PDK/6.0/license_overview.html

Where can I get past versions of the PDK?

OS: All / Any | Product: Perl Dev Kit | tags: archive ftp PDK
Question:

Where can I get past versions of the PDK? Is there an ftp site for the PDK?

Answer:

You can get past versions of ActiveState products from our ftp server:

ftp://ftp.activestate.com/

You can also access the ftp repository via the web at:

http://ftp.activestate.com/

This can be useful if you are behind a firewall that does not allow ftp.

What is the ECCN for the PDK?

OS: All / Any | Product: Perl Dev Kit | tags: ear eccn export PDK
Question:

What is the Export Classification Control Number for the Perl Developers Kit?

Answer:

The Export Control Classification Number for the PDK is EAR99 (self-classified). For a brief description of EAR99 and information on the difference between EAR99 and NLR (No License Required), see:

http://www.census.gov/foreign-trade/faq/reg/reg0031.html

-->