|
List Info
Thread: Versioning PerlCtrls (revisit after some time...)
|
|
| Versioning PerlCtrls (revisit after some
time...) |
  United Kingdom |
2007-04-02 14:36:15 |
|
Hi,
Some time ago I asked the following question (http://aspn.activestate.com/ASPN/Mail/Message/2732322).
No one answered then but I remain confused.
I
am currently doing some maintenance on a PerlCtrl and I am little confused
at
what I need to update in the TypeLib.
####
=begin
PerlCtrl
%TypeLib = (
PackageName => 'MyPackage::MyName',
DocString => 'My very own
control',
HelpFileName => 'MyControl.chm',
HelpContext => 1,
TypeLibGUID =>
'{C42CC1CF-4B4D-4944-9115-78D61B8FFB19}', # do
NOT
edit this line
ControlGUID =>
'{705B2CC2-E404-4CA6-8EF9-E31342E3010D}', # do
NOT
edit this line either
DispInterfaceIID=> '{846DC658-C2BB-454B-AE43-9CB3E4C2FB16}', # or
this
one
ControlName => 'MyObject',
ControlVer => 1, # increment if
new object with same ProgID
# create new
GUIDs as well
ProgID =>
'MyApp.MyObject',
#####
Do
I just increment the ControlVer to be 2 and leave it at that or do I
"create
new GUIDs" as the line below seems to indicate? If it is the later
do
I do just need to update TypeLibGUID and ControlGUID and leave
DispInferaceIID
alone?
Thanks in advance,
Dom.
|
| RE: Versioning PerlCtrls (revisit after
some time...) |
  Canada |
2007-04-03 02:31:02 |
|
Hi Dominic,
You should replace all 3 GUIDs *and*
increment the control version.
Changing the GUIDs allows you to
install both the old and the new control on the same machine. The
MyApp.MyObject will refer to the version that has been registered last, but you
can also instantiate your control with a versioned ProgID, as “MyApp.MyObject.1”
and “MyApp.MyObject.2”.
If you don’t use different
GUIDs, then settings from one version will overwrite settings from the other
version in the registry.
Here is a command to generate 3
new GUIDs for you:
perl -MWin32 -le"print Win32::GuidGen for 1..3"
Cheers,
-Jan
Hi,
Some time ago I asked the following
question (http://aspn.activestate.com/ASPN/Mail/Message/2732322).
No one answered then but I remain confused.
I
am currently doing some maintenance on a PerlCtrl and I am little confused
at
what I need to update in the TypeLib.
####
=begin
PerlCtrl
%TypeLib = (
PackageName => 'MyPackage::MyName',
DocString => 'My very own
control',
HelpFileName => 'MyControl.chm',
HelpContext => 1,
TypeLibGUID =>
'{C42CC1CF-4B4D-4944-9115-78D61B8FFB19}', # do
NOT
edit this line
ControlGUID => '{705B2CC2-E404-4CA6-8EF9-E31342E3010D}',
# do
NOT
edit this line either
DispInterfaceIID=> '{846DC658-C2BB-454B-AE43-9CB3E4C2FB16}', # or
this
one
ControlName => 'MyObject',
ControlVer => 1, # increment if
new object with same ProgID
# create new
GUIDs as well
ProgID =>
'MyApp.MyObject',
#####
Do
I just increment the ControlVer to be 2 and leave it at that or do I
"create
new GUIDs" as the line below seems to indicate? If it is the later
do
I do just need to update TypeLibGUID and ControlGUID and leave
DispInferaceIID
alone?
Thanks in advance,
Dom.
|
| RE: Versioning PerlCtrls (revisit after
some time...) |
  United Kingdom |
2007-04-03 03:49:56 |
|
Hi Jan,
Many thanks for clearing that up
for me.
Cheers,
Dom.
From: Jan Dubois [mailto:jand activestate.com]
Sent: 03 April 2007 08:31
To: 'Dominic Bush'; pdk listserv.ActiveState.com
Subject: RE: Versioning PerlCtrls (revisit after some time...)
Hi Dominic,
You should replace
all 3 GUIDs *and* increment the control version.
Changing the GUIDs
allows you to install both the old and the new control on the same
machine. The MyApp.MyObject will refer to the version that has been
registered last, but you can also instantiate your control with a versioned
ProgID, as “MyApp.MyObject.1” and “MyApp.MyObject.2”.
If you don’t
use different GUIDs, then settings from one version will overwrite settings
from the other version in the registry.
Here is a command to
generate 3 new GUIDs for you:
perl -MWin32 -le"print
Win32::GuidGen for 1..3"
Cheers,
-Jan
Hi,
Some time ago I asked the following question (http://aspn.activestate.com/ASPN/Mail/Message/2732322).
No one answered then but I remain confused.
I
am currently doing some maintenance on a PerlCtrl and I am little confused
at
what I need to update in the TypeLib.
####
=begin
PerlCtrl
%TypeLib = (
PackageName => 'MyPackage::MyName',
DocString => 'My very own
control',
HelpFileName => 'MyControl.chm',
HelpContext => 1,
TypeLibGUID => '{C42CC1CF-4B4D-4944-9115-78D61B8FFB19}',
# do
NOT
edit this line
ControlGUID =>
'{705B2CC2-E404-4CA6-8EF9-E31342E3010D}', # do
NOT
edit this line either
DispInterfaceIID=> '{846DC658-C2BB-454B-AE43-9CB3E4C2FB16}', # or
this
one
ControlName => 'MyObject',
ControlVer => 1, # increment if
new object with same ProgID
# create new
GUIDs as well
ProgID =>
'MyApp.MyObject',
#####
Do
I just increment the ControlVer to be 2 and leave it at that or do I
"create
new GUIDs" as the line below seems to indicate? If it is the later
do
I do just need to update TypeLibGUID and ControlGUID and leave
DispInferaceIID
alone?
Thanks in advance,
Dom.
|
[1-3]
|
|