2009Q1 Grant Proposal: OPener Package


Wang Lei


[hidden email]

Amount Requested:



Opener package is a kind of software for the development of Windows installers which purpose is to make easily issued installers. It is like NSIS, but the main goal of the Opener package is to make installers which program in Perl. Opener package need to use Par to carry into effect. We use Par to package the executed files. We have already finished the production of installation interface which you can find the screenshots in our website, but we still have much work to do. The website of the project is: http://sites.google.com/site/openerenglish/opener-package

Benefits to the Perl Community

Why we need a kind of project like this? The running of the Perl program needs Perl interpreter which is not default installation on win32 platform, so for the Perl application can be popular in the world, we must install the Perl interpreter to every machine of win32. Opener package is aimed at this problem. When we are making the installer, we are building in the Perl interpreter. In other words, when you install a program, the Perl interpreter is installed in the target machine at the same time. Hence, it is suit for releasing the application in Perl language.


- To design the internal format of the installation script.

- To parse the installation script to make it control the running of the installer.

- To implement a kind of program to make installer which has graphical interface. It makes users to produce installers without writing installation scripts.

- To achieve the goal that the Perl interpreter can be built in the installation files.

Project Details

The first step: to design the installation script We need an .ini file. The inner of the file uses the format like the .ini file of Microsoft to define the installed content, such as the file which needs to decompress and the data which needs to import the REGEDIT.

The second step: to parse the script We need to parse the content of the .ini file and control the running of the installer. We should copy the files first, and then set the REGEDIT (including the setting of file association and autorun items) and add the shortcut of the file at last.

The third step: to implement a kind of program to make installer which has graphical interface. We need to show all content of the .ini files in several interfaces and direct users to make the installer. At last, it can generate an .ini file automatically according to the content which users have filled. It can also automatically package the selected folders which are prepared to be installed.

The last step: to achieve the goal that the Perl interpreter can be built in the installation files We need to analyze the internal running way of Par. Then we extract the available modules in the .exe file which has been packaged by PP as well as the .dll file. In this way, it can restructure the Perl interpreter. And this Perl interpreter will be installed in the target machine at last.

Project Schedule

This project needs three months. It will spend three days each week. We plan to achieve the first and the second step within the first month. Then we will spend half a month to finish the third step. The remaining will be used to finish the last step, because we may need a long time to accomplish it. We need to analyze the running way of Par.


It is a small software corporation from China. We devote ourselves to developing various kinds of Perl applications. Since 2001, we begin to use Perl to develop websites. We adopt Perl to program SMS gateway system and online e-mail system in 2004. From 2008, we start to program many kinds of desktop applications. This is the list of the projects<http://sites.google.com/site/openerenglish/softwarelist>which we do in 2008. With the help of Perl and the powerful CPAN, we so well in program graphical interface application, various kinds of internet application, the management software of win32 platform and so on.


When OPener Chat was announced on use Perl, I took a look at the code, and was not thrilled.

I'd be extremely leery of funding this proposal for that reason. If the proposer were to resubmit the proposal with a trusted mentor on board, I think that'd be more enticing.

This doesn't seem to buy a whole lot over PAR, which can already create win32 executables which don't need a copy of libperl installed locally.

I rigged up a windows "installer" / launcher for a catalyst app last week. It looks something like this (running from the root of a strawberry portable stick perl) and does fine on a moderately locked-down system:

@echo off
set bindir=%~dp0
set bindir=%bindir:~0,-1%
mkdir "%APPDATA%\MyPersonalHomePage"
echo ...
echo Copying application to hard drive, please be patient ....
xcopy /E /C /Y /Q  "%bindir%" "%APPDATA%\MyPersonalHomePage"
echo ...
echo Creating link in  startup folder
echo ...
mkdir "%APPDATA%\..\Start Menu\Programs\Startup"
Shortcut.exe /R:7 /A:C /T:"%APPDATA%\MyPersonalHomePage\startmyphp.vbs"  /F:"%APPDATA%\..\Start Menu\Programs\Startup\Start Personal Home Page Server.lnk"
echo Starting server, please be patient
ping -n 10 -w 1000 > nul

The VBS script referenced in the shortcut is this:

Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) &  fso.GetParentFolderName(wscript.ScriptFullName) & "\perlshell.bat"& Chr(34), 0
Set WshShell = Nothing

and the perlshell.bat launcher is this:

echo off
set bindir=%~dp0
set perlpath=%bindir%perl\bin
set buildpath=%bindir%\bin
set PATH=%PATH%;%perlpath%;%buildpath%
"%perlpath%\wperl.exe" "%bindir%MyPhp\script\myphp_server.pl" -p 35900
So my impression is that maybe this proposal is a problem 

Yes, this technique is quick and dirty, and could do with a bit more love to make it generalise a bit better (and probably wrapped in an msi installer), but it suggests to me that the proposal is a solution in search of a problem.

We need generic applications not only for (windows), perl was born in unix and unix is it's home.

The bat (batch processing) aplication is for windows.

REGEDIT is used by windows, dont work well and unix don'use it.

If windows wants they can take whatever they want and adapting and selling.

His company started in 2001 developing with perl and they dont mention unix platform they say "the management software of win32 platform and so on"

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at www.perlfoundation.org.

About this Entry

This page contains a single entry by Alberto Simões published on February 6, 2009 5:18 PM.

2009Q1 Grant Proposal: Web.pm - a lightweight web framework for Perl 6 was the previous entry in this blog.

2009Q1 Grant Proposal: OPener Chat is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.


OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2