Skip to search.

Breaking News Visit Yahoo! News for the latest.

×Close this window

makemsi · Build or Update MSI Databases

The Yahoo! Groups Product Blog

Check it out!

Group Information

? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Message search is now enhanced, find messages faster. Take it for a spin.

Messages

Advanced
Messages Help
Messages 240 - 269 of 3053   Oldest  |  < Older  |  Newer >  |  Newest
Messages: Show Message Summaries Sort by Date ^  
#240 From: "Julian Onions" <julianonions@...>
Date: Tue Jan 6, 2004 9:50 pm
Subject: Getting rid of ICE errors
julianonions
Send Email Send Email
 
I'm getting ICE validation errors like
ICE18        ERROR     KeyPath for Component: 'CDeskTop' is Directory:
'DesktopFolder'. The Directory/Component pair must be listed in the
CreateFolders table.
How do I persuade it to add the already defined DesktopFolder to the
CreateFolders table?

I'm using
   <$Component "CDeskTop" Create="Y" Directory_="[DesktopFolder]">
If I try to redefine the [DesktopFolder] with a
<$DirectoryTree Key="DESKTOPDIR"      Dir="[DesktopFolder]" Make="Y">
I get an error. I presume somehow I need to add it to the createfolder table
for the component.

Thanks, (Oh and thanks for the /Component change too!)
Julian.

#241 From: "Dennis Bareis" <dbareis@...>
Date: Wed Jan 7, 2004 7:02 am
Subject: Re: Getting rid of ICE errors
dbareis
Send Email Send Email
 
Hi,

On 6 Jan 2004 at 21:50, Julian Onions wrote:

> I'm getting ICE validation errors like
> ICE18        ERROR     KeyPath for Component: 'CDeskTop' is Directory:
> 'DesktopFolder'. The Directory/Component pair must be listed in the
> CreateFolders table. How do I persuade it to add the already defined
> DesktopFolder to the CreateFolders table?
>
> I'm using
>   <$Component "CDeskTop" Create="Y" Directory_="[DesktopFolder]"> If I
> try to redefine the [DesktopFolder] with a <$DirectoryTree
> Key="DESKTOPDIR"      Dir="[DesktopFolder]" Make="Y"> I get an error.
> I presume somehow I need to add it to the createfolder table for the
> component.

You could just use Table/Row macros on the CreateFolder table but you
can also use LM or CU parameters on the component command to create a
unique registry based keypath, I assume you are creating shortcuts,
if you were adding files/registry one of those could become the
components keypath.

Bye,
Dennis
----------------------------
Dennis Bareis (dbareis@...)
Melbourne, AUSTRALIA.

http://www.labyrinth.net.au/~dbareis/index.htm

  - Contains heaps of my own FREE software (OS/2, Windows & Linux):
    * PPWIZARD, HTML preprocessor (or rexx/Javascript etc)
      #define, #include, #import, #if and many other commands.
      Powerful macros, programmable, imports SQL, auto tag examples,
      Tested on OS/2, Windows, DOS & Linux (and more).
    * Pure REXX code for CRC16 & CRC32 routines.
  - Heaps of COMMENTED OS/2, HTML, Java and other links
----------------------------

#242 From: Julian Onions <julianonions@...>
Date: Wed Jan 7, 2004 3:38 pm
Subject: Re: Getting rid of ICE errors
julianonions
Send Email Send Email
 
Dennis Bareis wrote:

>Hi,
>
>You could just use Table/Row macros on the CreateFolder table but you
>can also use LM or CU parameters on the component command to create a
>unique registry based keypath, I assume you are creating shortcuts,
>if you were adding files/registry one of those could become the
>components keypath.
>
>
Thanks - I'll try the LM/CU trick. I've only the vaguest idea what they
do though. Time for some more reading.

Another similar ICE error I get with an otherwise empty directory that
contains only subdirectories.
I think this has the MAKE and Create options on the directorytree macro,
but validation still seems to complain,
probably because the Component contains no files?

Oh - another issue. Is it possible to arrange for a <$Files ...> to be
able to match no files?
I'd like the option to pick up files from a directory, that doesn't have
any in it yet, but probably will do sometime.

Julian.

#243 From: "Dennis Bareis" <dbareis@...>
Date: Thu Jan 8, 2004 7:09 am
Subject: Re: Getting rid of ICE errors
dbareis
Send Email Send Email
 
Hi,

On 7 Jan 2004 at 15:38, Julian Onions wrote:>

> Another similar ICE error I get with an otherwise empty directory that
> contains only subdirectories. I think this has the MAKE and Create
> options on the directorytree macro, but validation still seems to
> complain, probably because the Component contains no files?

You might have to use the MAKE/REMOVE parameters on each bit, perhaps
the command should do this...


> Oh - another issue. Is it possible to arrange for a <$Files ...> to be
> able to match no files? I'd like the option to pick up files from a
> directory, that doesn't have any in it yet, but probably will do
> sometime.

I have added a "NONEOK" parameter, set to "Y", I have uploaded the
relevant file to the MAKEMSI's groups "files" area.

Bye,
Dennis
----------------------------
Dennis Bareis (dbareis@...)
Melbourne, AUSTRALIA.

http://www.labyrinth.net.au/~dbareis/index.htm

  - Contains heaps of my own FREE software (OS/2, Windows & Linux):
    * PPWIZARD, HTML preprocessor (or rexx/Javascript etc)
      #define, #include, #import, #if and many other commands.
      Powerful macros, programmable, imports SQL, auto tag examples,
      Tested on OS/2, Windows, DOS & Linux (and more).
    * Pure REXX code for CRC16 & CRC32 routines.
  - Heaps of COMMENTED OS/2, HTML, Java and other links
----------------------------

#244 From: Julian Onions <julianonions@...>
Date: Thu Jan 8, 2004 8:20 am
Subject: Re: Getting rid of ICE errors
julianonions
Send Email Send Email
 

Another similar ICE error I get with an otherwise empty directory that
contains only subdirectories. I think this has the MAKE and Create
options on the directorytree macro, but validation still seems to
complain, probably because the Component contains no files?

You might have to use the MAKE/REMOVE parameters on each bit, perhaps the command should do this...
I found the CU/LM stuff works for this too, so thats solved it. Its now ICE free!
I'm still a little confused by this, does setting CU create some key in the registry,
if so where abouts?

Oh - another issue. Is it possible to arrange for a <$Files ...> to be
able to match no files? I'd like the option to pick up files from a
directory, that doesn't have any in it yet, but probably will do
sometime.

I have added a "NONEOK" parameter, set to "Y", I have uploaded the relevant file to the MAKEMSI's groups "files" area.
Great - thanks!

Julian.


#245 From: "Dennis Bareis" <dbareis@...>
Date: Thu Jan 8, 2004 8:33 am
Subject: Re: Getting rid of ICE errors
dbareis
Send Email Send Email
 
Hi,

On 8 Jan 2004 at 8:20, Julian Onions wrote:

>     You might have to use the MAKE/REMOVE parameters on each bit,
>     perhaps the command should do this...
>
> I found the CU/LM stuff works for this too, so thats solved it. Its
> now ICE free! I'm still a little confused by this, does setting CU
> create some key in the registry, if so where abouts?

Yes, a keypath is used to flag whether or not a component is
installed, its location is configurable, default being:

#define? KEYPATH_REGISTRY_KEY
Software\KeyPaths\<$ProdInfo.ProductName>\<$ProductVersion>

Bye,
Dennis
----------------------------
Dennis Bareis (dbareis@...)
Melbourne, AUSTRALIA.

http://www.labyrinth.net.au/~dbareis/index.htm

  - Contains heaps of my own FREE software (OS/2, Windows & Linux):
    * PPWIZARD, HTML preprocessor (or rexx/Javascript etc)
      #define, #include, #import, #if and many other commands.
      Powerful macros, programmable, imports SQL, auto tag examples,
      Tested on OS/2, Windows, DOS & Linux (and more).
    * Pure REXX code for CRC16 & CRC32 routines.
  - Heaps of COMMENTED OS/2, HTML, Java and other links
----------------------------

#246 From: Julian Onions <julianonions@...>
Date: Fri Jan 23, 2004 10:09 am
Subject: Autorun
julianonions
Send Email Send Email
 
Don't know if anyones interested, but I wrote a couple of really small
macros (which will probably turn Dennis's stomach on first sight - but
I'm learning!) that  help you to automate the process of making
autorun'able CD's.

They basically copy some needed files into the MSI directory, build a
small autorun.inf and patch the setup.exe to invoke the right MSI file
(using the SDK setup.exe and msistuff tools).
If anyone is interested I can post them, but they'll probably need some
extensions for maximum portability.

I've also got a pre-build zip macro that uses the winzip command line
tools to build a ZIP file prior to MSI packaging it. Probably not of so
much interest.

Julian.

#247 From: "Dennis Bareis" <dbareis@...>
Date: Sat Jan 24, 2004 7:25 am
Subject: Re: Autorun
dbareis
Send Email Send Email
 
Hi,

If you can supply the files in a zip or MSI along with a sample
script to use them and any doco etc I could make any user
contributions available from my site or if you have your own site I
am hapy to link to it.

Bye,
Dennis


On 23 Jan 2004 at 10:09, Julian Onions wrote:

> Don't know if anyones interested, but I wrote a couple of really small
> macros (which will probably turn Dennis's stomach on first sight - but
> I'm learning!) that  help you to automate the process of making
> autorun'able CD's.
>
> They basically copy some needed files into the MSI directory, build a
> small autorun.inf and patch the setup.exe to invoke the right MSI file
> (using the SDK setup.exe and msistuff tools). If anyone is interested
> I can post them, but they'll probably need some extensions for maximum
> portability.
>
> I've also got a pre-build zip macro that uses the winzip command line
> tools to build a ZIP file prior to MSI packaging it. Probably not of
> so much interest.
>
> Julian.
>
>
>
>
>
> Yahoo! Groups Links
>
> To visit your group on the web, go to:
>  http://groups.yahoo.com/group/makemsi/
>
> To unsubscribe from this group, send an email to:
>  makemsi-unsubscribe@yahoogroups.com
>
> Your use of Yahoo! Groups is subject to:
>  http://docs.yahoo.com/info/terms/
>
>


----------------------------
Dennis Bareis (dbareis@...)
Melbourne, AUSTRALIA.

http://www.labyrinth.net.au/~dbareis/index.htm

  - Contains heaps of my own FREE software (OS/2, Windows & Linux):
    * PPWIZARD, HTML preprocessor (or rexx/Javascript etc)
      #define, #include, #import, #if and many other commands.
      Powerful macros, programmable, imports SQL, auto tag examples,
      Tested on OS/2, Windows, DOS & Linux (and more).
    * Pure REXX code for CRC16 & CRC32 routines.
  - Heaps of COMMENTED OS/2, HTML, Java and other links
----------------------------

#248 From: "Julian Onions" <julianonions@...>
Date: Sat Jan 24, 2004 10:25 pm
Subject: Re: Autorun
julianonions
Send Email Send Email
 
Well here is the autorun set of macros, the last line being an example of
use. Its pretty simple, but requires some bits from the platform SDK to run.
I can send you those if you want.
They are documented at the top of the file.

Julian.

#249 From: "Dennis Bareis" <dbareis@...>
Date: Mon Jan 26, 2004 1:00 am
Subject: Re: Autorun
dbareis
Send Email Send Email
 
Hi,

On 24 Jan 2004 at 22:25, Julian Onions wrote:

> Well here is the autorun set of macros, the last line being an example
> of use. Its pretty simple, but requires some bits from the platform
> SDK to run. I can send you those if you want. They are documented at
> the top of the file.
>
> Julian.

Please have a look at:

   http://www.labyrinth.net.au/~dbareis/makemsi/user_contributions.htm

It could probably use a bit more detail about exactly what it does
and what steps have already been performed but still should be
useful.

Thanks,
Dennis
----------------------------
Dennis Bareis (dbareis@...)
Melbourne, AUSTRALIA.

http://www.labyrinth.net.au/~dbareis/index.htm

  - Contains heaps of my own FREE software (OS/2, Windows & Linux):
    * PPWIZARD, HTML preprocessor (or rexx/Javascript etc)
      #define, #include, #import, #if and many other commands.
      Powerful macros, programmable, imports SQL, auto tag examples,
      Tested on OS/2, Windows, DOS & Linux (and more).
    * Pure REXX code for CRC16 & CRC32 routines.
  - Heaps of COMMENTED OS/2, HTML, Java and other links
----------------------------

#250 From: "mfombaron" <marc.fombaron-external@...>
Date: Tue Jan 27, 2004 8:23 am
Subject: Import Reg file with binary values
mfombaron
Send Email Send Email
 
Hi,

Using MAKEMSI version 4.00.022 I'm trying to repackage UltraVNC RC12g.

I'm trying to import a REGEDIT4 file using either :
<$RegistryImport ".\uvnc.re4" LOCAL_MACHINE="">

or

#include ".\uvnc.reg.RE4MM" (after converting the re4 file to MAKEMSI
format.)

In both bases, the binary values I'm trying to import are not created
correctly in the MSI. See Orca full validation result :

ICE70 ERROR The value '#xda,f2,e2,70,6f,02,4d,da' is an invalid
hexadecimal value for registry entry RegKey025.

Trying to install the MSI I get error messages saying that I don't
have the proper rights to create the value when I do have the rights.

Original reg file is (excerpt) :
REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default]
"Password"=hex:da,f2,e2,70,6f,02,4d,da

Convertion to MAKEMSI format gives :
#(
     <$Registry
            HKEY="LOCAL_MACHINE"
             KEY="SOFTWARE\ORL\WinVNC3\Default"
            NAME="Password"
           VALUE="da,f2,e2,70,6f,02,4d,da"
            TYPE="BINARY"
         KEYPATH="Y"
         Component="REGIMPORT_LOCAL_MACHINE"
         MsiFormatted="KEY,NAME,VALUE"
     >
#)

If I remove the commas manually in VALUE in the include file, then
the generated MSI is correct. Is it a bug ? How can I avoid this ?

Best regards,

Marc

#251 From: "Dennis Bareis" <dbareis@...>
Date: Tue Jan 27, 2004 10:12 am
Subject: Re: Import Reg file with binary values
dbareis
Send Email Send Email
 
Hi,

On 27 Jan 2004 at 8:23, mfombaron wrote:

> Convertion to MAKEMSI format gives :
> #(
>     <$Registry
>            HKEY="LOCAL_MACHINE"
>             KEY="SOFTWARE\ORL\WinVNC3\Default"
>            NAME="Password"
>           VALUE="da,f2,e2,70,6f,02,4d,da"
>            TYPE="BINARY"
>         KEYPATH="Y"
>         Component="REGIMPORT_LOCAL_MACHINE"
>         MsiFormatted="KEY,NAME,VALUE"
>     >
> #)

As discussed in your other email the "registry.mmh" I supplied will
now collectly handle the commas.

Thanks for reporting it,
Dennis
----------------------------
Dennis Bareis (dbareis@...)
Melbourne, AUSTRALIA.

http://www.labyrinth.net.au/~dbareis/index.htm

  - Contains heaps of my own FREE software (OS/2, Windows & Linux):
    * PPWIZARD, HTML preprocessor (or rexx/Javascript etc)
      #define, #include, #import, #if and many other commands.
      Powerful macros, programmable, imports SQL, auto tag examples,
      Tested on OS/2, Windows, DOS & Linux (and more).
    * Pure REXX code for CRC16 & CRC32 routines.
  - Heaps of COMMENTED OS/2, HTML, Java and other links
----------------------------

#252 From: "casey_pankonien" <casey_pankonien@...>
Date: Thu Jan 29, 2004 10:04 pm
Subject: STRINGOVERFLOW Error when updating msi file
casey_pankonien
Send Email Send Email
 
I am getting an error while trying to do a simple update on an
existing msi file created by Visual Studio.

I am getting the following error:

FATAL ERROR
~~~~~~~~~~~
Built from: C:\TigerSrc\TigerClaw_Installer\Release\test.mm
.MM Locn  : test.mm(41)
.MM Cmd   : <$/Msi>
.MM ID    : MAC0024  (location in "out\test.mm\Log\Pass1+2.vbs")
In TABLE  : Component

REASON
~~~~~~
1 column(s) in a "Component" table record failed "FETCH" validation:
    * #1 "KeyPath": (STRINGOVERFLOW) The string is too long for the
length specified by the column de
finition.

RECORD CONTENTS (table "Component")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Component =
WinForms_Temp_____X86.3643236F_FC70_11D3_A536_0090278A1BB8
ComponentId = {E4183256-18A8-11D5-A549-0090278A1BB8}
Directory_ = CRNET.3643236F_FC70_11D3_A536_0090278A1BB8
Attributes = 0
Condition = <<null>>
KeyPath =
CrystalDecisions_Windows_Forms_dll_3_____X86.3643236F_FC70_11D3_A536_
0090278A1BB8




The error above is generated by the following script (which has
nothing to do with the error except the msi file itself):


<$Msi ".\TigerClawold.msi">

	 dim UpgradeCode

	 <$Guid 'UpgradeCode' VB="UpgradeCode">
	 <$Property "UpgradeCode"   *Value="UpgradeCode">
	 <$Summary  "PackageCode"   *Value='GuidMake("")'>
	 <$Property "ProductCode"   *Value='GuidMake("")'>
	 <$Property "ProductVersion"   Value="1.1.1">

<$/Msi>

#253 From: "Dennis Bareis" <dbareis@...>
Date: Fri Jan 30, 2004 5:58 am
Subject: Re: STRINGOVERFLOW Error when updating msi file
dbareis
Send Email Send Email
 
Hi,

The Keypath
"CrystalDecisions_Windows_Forms_dll_3_____X86.3643236F_FC70_11D3_A536_
0090278A1BB8"
is way longer than the max 72 characters allowed.

So it appears "Visual Studio" or a merge module it uses inserted an
entry which is too large (which it can do - stupid but true - but
should fail validation), have you tried performing validations via
ORCA before using MAKEMSI?

Are you using the "OPENMSI.MMH" header, if not try it.
If this also fails try using the attached "MSI.MMH" as well as
inclusing "openmsi.mmh" (i.e. does the attached file solve you
problem?).

Can you send me the MSI in any case , your script and the generated
VBS (zipped please) so I can have a good look at it.

Thanks,
Dennis



On 29 Jan 2004 at 22:04, casey_pankonien wrote:

> I am getting an error while trying to do a simple update on an
> existing msi file created by Visual Studio.
>
> I am getting the following error:
>
> FATAL ERROR
> ~~~~~~~~~~~
> Built from: C:\TigerSrc\TigerClaw_Installer\Release\test.mm
> .MM Locn  : test.mm(41)
> .MM Cmd   : <$/Msi>
> .MM ID    : MAC0024  (location in "out\test.mm\Log\Pass1+2.vbs")
> In TABLE  : Component
>
> REASON
> ~~~~~~
> 1 column(s) in a "Component" table record failed "FETCH" validation:
>    * #1 "KeyPath": (STRINGOVERFLOW) The string is too long for the
> length specified by the column de finition.
>
> RECORD CONTENTS (table "Component")
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Component =
> WinForms_Temp_____X86.3643236F_FC70_11D3_A536_0090278A1BB8
> ComponentId = {E4183256-18A8-11D5-A549-0090278A1BB8}
> Directory_ = CRNET.3643236F_FC70_11D3_A536_0090278A1BB8
> Attributes = 0
> Condition = <<null>>
> KeyPath =
> CrystalDecisions_Windows_Forms_dll_3_____X86.3643236F_FC70_11D3_A536_
> 0090278A1BB8
>
>
>
>
> The error above is generated by the following script (which has
> nothing to do with the error except the msi file itself):
>
>
> <$Msi ".\TigerClawold.msi">
>
>  dim UpgradeCode
>
>  <$Guid 'UpgradeCode' VB="UpgradeCode">
>  <$Property "UpgradeCode"   *Value="UpgradeCode">
>  <$Summary  "PackageCode"   *Value='GuidMake("")'>
>  <$Property "ProductCode"   *Value='GuidMake("")'>
>  <$Property "ProductVersion"   Value="1.1.1">
>
> <$/Msi>

----------------------------
Dennis Bareis (dbareis@...)
Melbourne, AUSTRALIA.

http://www.labyrinth.net.au/~dbareis/index.htm

  - Contains heaps of my own FREE software (OS/2, Windows & Linux):
    * PPWIZARD, HTML preprocessor (or rexx/Javascript etc)
      #define, #include, #import, #if and many other commands.
      Powerful macros, programmable, imports SQL, auto tag examples,
      Tested on OS/2, Windows, DOS & Linux (and more).
    * Pure REXX code for CRC16 & CRC32 routines.
  - Heaps of COMMENTED OS/2, HTML, Java and other links
----------------------------
The following section of this message contains a file attachment
prepared for transmission using the Internet MIME message format.
If you are using Pegasus Mail, or any other MIME-compliant system,
you should be able to save it or view it from within your mailer.
If you cannot, please ask your system administrator for assistance.

    ---- File information -----------
      File:  msi.zip
      Date:  30 Jan 2004, 16:55
      Size:  9692 bytes.
      Type:  ZIP-archive

#254 From: "Julian Onions" <julianonions@...>
Date: Wed Feb 4, 2004 11:19 pm
Subject: custom actions
julianonions
Send Email Send Email
 
I've defined a neat custom action that ammends a file on installation - adds
lines to it etc. Similar one for uninstall.
#(
   <$VbsCaSetup
     Binary="AddLine.vbs"
     Entry="Install"
     Seq=4001
     CONDITION=^<$CONDITION_INSTALL_ONLY>^
     DATA="LineParameters"
   >
#)

It works fine - except I think its being called at the wrong point. It seems
to fail unless the installation directory already exists, it creates a file
in that directory. Which makes me think the action is being called before
installation of files has started.

Is this likely. If so can I change it? I copied it out of the doco.

Julian.

#255 From: "Dennis Bareis" <dbareis@...>
Date: Thu Feb 5, 2004 1:56 am
Subject: Re: custom actions
dbareis
Send Email Send Email
 
Hi,

--- In makemsi@yahoogroups.com, "Julian Onions" <julianonions@y...>
wrote:
> I've defined a neat custom action that ammends a file on
installation - adds
> lines to it etc. Similar one for uninstall.
> #(
>   <$VbsCaSetup
>     Binary="AddLine.vbs"
>     Entry="Install"
>     Seq=4001
>     CONDITION=^<$CONDITION_INSTALL_ONLY>^
>     DATA="LineParameters"
>   >
> #)
>
> It works fine - except I think its being called at the wrong point.
It seems
> to fail unless the installation directory already exists, it
creates a file
> in that directory. Which makes me think the action is being called
before
> installation of files has started.
>
> Is this likely. If so can I change it? I copied it out of the doco.


The CA you are setting up is deferred and occurs after files are
installed as that happens at 4000 (directories created at 3700), a
better place might be slightly further if file were being patched etc.

My suggestion would be to modify the CA to pop up a message box to
pause and then check the folders etc.

Bye,
Dennis

#256 From: "rhow_i3" <rhow@...>
Date: Wed Feb 4, 2004 6:49 pm
Subject: Development Production Mode Definitions
rhow_i3
Send Email Send Email
 
Greetings,

As a newbie to the MSI arena, I'm thrilled to have found MakeMSI.  It
seems to have the best documentation and the most active support
system - much thanks to Dennis.  In three days I've had to rapidly
move to the MSI technology because of dependancies which included MS
Merge Modules.  MakeMSI has made it a success and I'll be able to
integrate the scripting into my existing overall build process.

My question is - What is the difference between the Build MSI -
Development and Build MSI - Production?  I've looked at the
documentation which refers to mmmode.mmh.  It implies that the
difference is in regards to the CAB compression.  I would assume
smaller for production?  I've run MakeMSI in both modes and the
overall process and size of the MSI output were the same.

What am I missing?

Thanks Randy

#257 From: "Dennis Bareis" <dbareis@...>
Date: Thu Feb 5, 2004 7:27 am
Subject: Re: Development Production Mode Definitions
dbareis
Send Email Send Email
 
Hi,

On 4 Feb 2004 at 18:49, rhow_i3 wrote:

> Greetings,
>
> As a newbie to the MSI arena, I'm thrilled to have found MakeMSI.  It
> seems to have the best documentation and the most active support
> system - much thanks to Dennis.  In three days I've had to rapidly
> move to the MSI technology because of dependancies which included MS
> Merge Modules.  MakeMSI has made it a success and I'll be able to
> integrate the scripting into my existing overall build process.

Good to hear this. Thanks. Tell your friends :-)

  > My question is - What is the difference between the Build MSI -
> Development and Build MSI - Production?  I've looked at the
> documentation which refers to mmmode.mmh.  It implies that the
> difference is in regards to the CAB compression.  I would assume
> smaller for production?  I've run MakeMSI in both modes and the
> overall process and size of the MSI output were the same.
>
> What am I missing?

I don't think it does much more than that in MAKEMSI as supplied (I
did notice in dev mode complus applications log password), however
you can potentially build your MSI conditionally based on these
values, for example to add debug code in development mode or to add
other modes.

At work I have many differences defined, in development mode I use
and automatically increment build numbers in the version number and
turn these off for production mode (don't ask), in prod mode I also
export the generated files to a named "QA" directory, populate a
databse via ASP pages and do other stuff.

Bye,
Dennis
----------------------------
Dennis Bareis (dbareis@...)
Melbourne, AUSTRALIA.

http://www.labyrinth.net.au/~dbareis/index.htm

  - Contains heaps of my own FREE software (OS/2, Windows & Linux):
    * PPWIZARD, HTML preprocessor (or rexx/Javascript etc)
      #define, #include, #import, #if and many other commands.
      Powerful macros, programmable, imports SQL, auto tag examples,
      Tested on OS/2, Windows, DOS & Linux (and more).
    * Pure REXX code for CRC16 & CRC32 routines.
  - Heaps of COMMENTED OS/2, HTML, Java and other links
----------------------------

#258 From: "Dennis Bareis" <dbareis@...>
Date: Fri Feb 6, 2004 6:29 am
Subject: Re: Development Production Mode Definitions
dbareis
Send Email Send Email
 
Hi,

On 5 Feb 2004 at 18:27, Dennis Bareis wrote:

>  > My question is - What is the difference between the Build MSI - >
> Development and Build MSI - Production?  I've looked at the >
> documentation which refers to mmmode.mmh.  It implies that the >
> difference is in regards to the CAB compression.  I would assume >
> smaller for production?  I've run MakeMSI in both modes and the >
> overall process and size of the MSI output were the same. > > What am
> I missing?
>
> I don't think it does much more than that in MAKEMSI as supplied (I
> did notice in dev mode complus applications log password), however you
> can potentially build your MSI conditionally based on these values,
> for example to add debug code in development mode or to add other
> modes.
>
> At work I have many differences defined, in development mode I use and
> automatically increment build numbers in the version number and turn
> these off for production mode (don't ask), in prod mode I also export
> the generated files to a named "QA" directory, populate a databse via
> ASP pages and do other stuff.

I have now added this example to my documentation:

;--- What should be the default "PAUSE" parameter value? ---
#define  DEBUG_PAUSE.D  Y   ;;Default to PAUSE=Y in dev
#define  DEBUG_PAUSE.P  N   ;;Default to PAUSE=B in prod

;--- Load MAKEMSI (via wrapper) ---
#define  VBSCA_PAUSE    <$DEBUG_PAUSE.[MMMODE]>
#include "DEPT.MMH"
...

Bye,
Dennis
----------------------------
Dennis Bareis (dbareis@...)
Melbourne, AUSTRALIA.

http://www.labyrinth.net.au/~dbareis/index.htm

  - Contains heaps of my own FREE software (OS/2, Windows & Linux):
    * PPWIZARD, HTML preprocessor (or rexx/Javascript etc)
      #define, #include, #import, #if and many other commands.
      Powerful macros, programmable, imports SQL, auto tag examples,
      Tested on OS/2, Windows, DOS & Linux (and more).
    * Pure REXX code for CRC16 & CRC32 routines.
  - Heaps of COMMENTED OS/2, HTML, Java and other links
----------------------------

#259 From: "Julian Onions" <julianonions@...>
Date: Tue Feb 17, 2004 6:48 pm
Subject: Weird error
julianonions
Send Email Send Email
 
I have quiote a big install built with makemsi, which is working pretty
well.
However, with the addition of a few last files and directories, it builds
fine (takes about 30 mins now)
but the resulting MSI file crashes after briefly displaying the initial
dialogue - flashes up then vanishes.

The verbose install shows no real errors, at least nothing different to
before.

It ends with the following though

Action ended 18:23:22: MigrateFeatureStates. Return value 0.
MSI (c) (F0:5C): Doing action: WelcomeDlg
Action start 18:23:22: WelcomeDlg.
=====================================================
Exception code: C0000005 ACCESS_VIOLATION
Module: C:\WINDOWS\system32\GDI32.dll
Function: 0x77c7a92a
=====================================================

Registers:
EAX:01170048  EBX:00000000  ECX:00006E4B  EDX:00026A32  ESI:0016AFFE
EDI:0117B14C
CS:EIP:001B:77C7A92A SS:ESP:0023:0006C768  EBP:0006C7A0
DS:0023  ES:0023  FS:0038  GS:0000
Flags:00010213

Call stack:
Address   Frame
77C7A92A  0006C7A0 0
  -- 0x50011C23 0x0015FD72 0x00000004 0x0015FEFA
60806DF5  0006C7D0 0
  -- 0x0015FD64 0x0006CC70 0x00152224 0x00000000
60807024  0006CC00 0
  -- 0x003D003D 0x003D003D 0x003D003D 0x003D003D
003D003D  003D003D 0
  -- 0x00000000 0x00000000 0x00000000 0x00000000

=== Verbose logging stopped: 17/02/2004  18:23:22 ===


I think I've narrowed it down to one line - a
<$Feature ...>
<$DirectoryTree Key="BABASEDIR" MAKE=Y Dir="[INSTALLDIR]\base">
creating a directory which has only subdirectories in it, no files in it.
comment that out - it works, leave it in, it bombs.
Editing the msi file with orca to remove that line and all references also
works.

Any one any ideas?
Julian.

#260 From: "Dennis Bareis" <dbareis@...>
Date: Wed Feb 18, 2004 7:01 am
Subject: Re: Weird error
dbareis
Send Email Send Email
 
Hi,

On 17 Feb 2004 at 18:48, Julian Onions wrote:

> resulting MSI file crashes after briefly displaying the initial
> dialogue - flashes up then vanishes.

Does it look like a complete dialog?

> Action ended 18:23:22: MigrateFeatureStates. Return value 0.
> MSI (c) (F0:5C): Doing action: WelcomeDlg
> Action start 18:23:22: WelcomeDlg.
> =====================================================
> Exception code: C0000005 ACCESS_VIOLATION
> Module: C:\WINDOWS\system32\GDI32.dll

Sounds like its having trouble drawing the dialog.


> I think I've narrowed it down to one line - a
> <$Feature ...>
> <$DirectoryTree Key="BABASEDIR" MAKE=Y Dir="[INSTALLDIR]\base">
> creating a directory which has only subdirectories in it, no files in
> it. comment that out - it works, leave it in, it bombs. Editing the
> msi file with orca to remove that line and all references also works.

Off hand this does not appear related maybe try different box or
version of Windows Installer (sounds like a Windows Installer bug)?

Bye,
Dennis
----------------------------
Dennis Bareis (dbareis@...)
Melbourne, AUSTRALIA.

http://www.labyrinth.net.au/~dbareis/index.htm

  - Contains heaps of my own FREE software (OS/2, Windows & Linux):
    * PPWIZARD, HTML preprocessor (or rexx/Javascript etc)
      #define, #include, #import, #if and many other commands.
      Powerful macros, programmable, imports SQL, auto tag examples,
      Tested on OS/2, Windows, DOS & Linux (and more).
    * Pure REXX code for CRC16 & CRC32 routines.
  - Heaps of COMMENTED OS/2, HTML, Java and other links
----------------------------

#261 From: "Julian Onions" <julianonions@...>
Date: Wed Feb 18, 2004 3:48 pm
Subject: Re: Weird error
julianonions
Send Email Send Email
 
>
> Does it look like a complete dialog?
Yes - I think, you get the brief small dialog saying its starting up, then
the welcome dialog I think, only a split second flash before it dies though.

>
> > Action ended 18:23:22: MigrateFeatureStates. Return value 0.
> > MSI (c) (F0:5C): Doing action: WelcomeDlg
> > Action start 18:23:22: WelcomeDlg.
> > =====================================================
> > Exception code: C0000005 ACCESS_VIOLATION
> > Module: C:\WINDOWS\system32\GDI32.dll
>
> Sounds like its having trouble drawing the dialog.

Yes- I finally got msiexec under a debugger with symbols, and its dieing
manipulating a bitmap, so I'm trying to remove my custom ones currently.
I'll see if that helps.

> Off hand this does not appear related maybe try different box or
> version of Windows Installer (sounds like a Windows Installer bug)?

Others have managed to get it to run, possible on win98 or some such - I'm
on XP.

On a related note, it seems the UiSample.msi has a few errors in it. A
number of dialog items that are slightly too big
for the dialog. BottomLine control in particular, which appears in a lot of
the dialogs.
Seems to have a X,Y or 0, 234 and W,H of 374, 0
But all the dialogs seem to be 370x270 in size, so the W should probably be
369 as the error logging mentions it is 5 pixels too big.

Julian.

#262 From: "Julian Onions" <julianonions@...>
Date: Wed Feb 18, 2004 11:04 pm
Subject: Re: Weird error
julianonions
Send Email Send Email
 
> Yes- I finally got msiexec under a debugger with symbols, and its dieing
> manipulating a bitmap, so I'm trying to remove my custom ones currently.
> I'll see if that helps.

Well it did help. The bitmap I had installed I'd copied the dimensions from
the makemsi sample
LeftSide.bmp - 503 x 314 pixels. The standard dialog is apparently 370x270.
When I resized the bitmap to that size, things started working. So far no
more sudden crashes!
Coincidence, or solution - who knows - but I'm much happier!

On yet another node - Can i ask for some advice. I'm trying to write a
"make" like function.
Basically I want to do an action during the build if the file is out of
date.

I have code like this that works at the moment
#DefineRexx ''
      @FileTime = GetFileTimeStamp("<$Src>\build");
     @Update = 'N';
     if @FileTime < GetFileTimeStamp("<$Src>\file1") then
     do
        @Update = 'Y';
     end;
     if @FileTime < GetFileTimeStamp("<$Src>\file2") then
     do
        @Update = 'Y';
     end;
     if @Update = 'Y' then
     do
       call Info ' Need to rebuild file';
       @@Cmd = 'updatefile.bat';
       @@Rc = AddressCmd(@@Cmd);
       if @@Rc <> 0 then
       do
          Error ('The command ' || @@Cmd || 'failed');
       end;
     end;
#DefineRexx
Which works nicely. But its ugly! I'd like to make it into a macro or
something, so I can use the same routine in several places with different
files.
However, what I really need to do, is to be able to say something like
<$IsOutOfData Target="file1" "Dependency=dependency*">
and then depending on if this says that its out of date, call either a
macro, a rexx expresion or something else.
I just can't see how to mix these calls though.
I guess I want something like
#if <$IsOutOfDate ...>
<$WinZip ...various stuff for my zip macro>
#endif

How do you make macros return status? Or should I be looking at a different
type of thing than a macro?
Any examples in the makemsi code?

Thanks for any advice
Julian.

#263 From: "Dennis Bareis" <dbareis@...>
Date: Fri Feb 20, 2004 12:27 am
Subject: Re: Weird error
dbareis
Send Email Send Email
 
Hi,

On 18 Feb 2004 at 23:04, Julian Onions wrote:

> Well it did help. The bitmap I had installed I'd copied the dimensions
> from the makemsi sample LeftSide.bmp - 503 x 314 pixels. The standard
> dialog is apparently 370x270. When I resized the bitmap to that size,
> things started working. So far no more sudden crashes! Coincidence, or
> solution - who knows - but I'm much happier!

370x270?  Be careful when looking at sizes and remember that the
dialogs are not sized by pixels. But in any case there would appear
to be some Windows bug with the handling of your particular
combination of pixels...


Bye,
Dennis
----------------------------
Dennis Bareis (dbareis@...)
Melbourne, AUSTRALIA.

http://www.labyrinth.net.au/~dbareis/index.htm

  - Contains heaps of my own FREE software (OS/2, Windows & Linux):
    * PPWIZARD, HTML preprocessor (or rexx/Javascript etc)
      #define, #include, #import, #if and many other commands.
      Powerful macros, programmable, imports SQL, auto tag examples,
      Tested on OS/2, Windows, DOS & Linux (and more).
    * Pure REXX code for CRC16 & CRC32 routines.
  - Heaps of COMMENTED OS/2, HTML, Java and other links
----------------------------

#264 From: "Dennis Bareis" <dbareis@...>
Date: Fri Feb 20, 2004 12:27 am
Subject: Useful MAKE like macro (rebuild output if input file changes)
dbareis
Send Email Send Email
 
On 18 Feb 2004 at 23:04, Julian Onions wrote:

> Can i ask for some advice. I'm trying to write a
> "make" like function. Basically I want to do an action during the
> build if the file is out of date.

Yes but please in separate email in future, that way others looking
for the answer have a better chance of finding the info.


> I have code like this that works at the moment
> #DefineRexx ''
>      @FileTime = GetFileTimeStamp("<$Src>\build");
>     @Update = 'N';
>     if @FileTime < GetFileTimeStamp("<$Src>\file1") then
>     do
>        @Update = 'Y';
>     end;
>     if @FileTime < GetFileTimeStamp("<$Src>\file2") then
>     do
>        @Update = 'Y';
>     end;
>     if @Update = 'Y' then
>     do
>       call Info ' Need to rebuild file';
>       @@Cmd = 'updatefile.bat';
>       @@Rc = AddressCmd(@@Cmd);
>       if @@Rc <> 0 then
>       do
>          Error ('The command ' || @@Cmd || 'failed');
>       end;
>     end;
> #DefineRexx
> Which works nicely. But its ugly! I'd like to make it into a macro
or
> something, so I can use the same routine in several places with
> different files. However, what I really need to do, is to be able
to
> say something like <$IsOutOfData Target="file1"
> "Dependency=dependency*"> and then depending on if this says that
its
> out of date, call either a macro, a rexx expresion or something
else.
> I just can't see how to mix these calls though. I guess I want
> something like #if <$IsOutOfDate ...> <$WinZip ...various stuff for
my
> zip macro> #endif

The "MakeIfRequired" macro would of cource go into YOUR common header
file so it only appears once no matter how many scripts use it.

Try this code (I resisted use of rexx blocks):
#NextId
#(
     #define MakeIfRequired

     ;--- Check parameter usage ---
     {$!KEYWORDS}
     {$!:IF,OF,DoMacro}

     ;--- Die if the input file does not exist ---
     #if FileQueryExists('{$IF}') = ''
         #error 'The MAKE input file "{$IF}" does not exist!'
     #endif

     ;--- If output file doesn't exist or older than input "do
something" ----
     #if GetFileTimeStamp('{$OF}', 'Q') <= GetFileTimeStamp('{$IF}')
       <${$DoMacro} IF="{$IF}" OF="{$OF}">
     #endif
#)


;--- TEST ---
#(
     #define BuildOutput
     #info ^Building "{$OF}" from "{$IF}"^
     #if AddressCmd('UpdateFile.BAT') <> 0
         #error ^Failed updating "{$OF}" from "{$IF}" ^
     #endif
#)
;#debug on
<$MakeIfRequired IF="input.txt" OF="output.txt"
                            DoMacro="BuildOutput">

The above code looks at one input file and one output file only.

> How do you make macros return status? Or should I be looking at a
> different type of thing than a macro? Any examples in the makemsi
> code?

If you look at the MAKEMSI source there are a number of macros which
getpassed rexx variables and return results in rexx variables, I
usually use macro parameter names like "SomethingVar=" so perhaps if
you looked for "VAR}" you might quickly locate some.

Bye,
Dennis
----------------------------
Dennis Bareis (dbareis@...)
Melbourne, AUSTRALIA.

http://www.labyrinth.net.au/~dbareis/index.htm

  - Contains heaps of my own FREE software (OS/2, Windows & Linux):
    * PPWIZARD, HTML preprocessor (or rexx/Javascript etc)
      #define, #include, #import, #if and many other commands.
      Powerful macros, programmable, imports SQL, auto tag examples,
      Tested on OS/2, Windows, DOS & Linux (and more).
    * Pure REXX code for CRC16 & CRC32 routines.
  - Heaps of COMMENTED OS/2, HTML, Java and other links
----------------------------

#265 From: "rhow_i3" <rhow@...>
Date: Mon Feb 23, 2004 9:24 pm
Subject: Registry
rhow_i3
Send Email Send Email
 
Greetings,

I'm having some difficulty executing some registry entries during the
installation.  The program (DataDoors - DLL) I've built is
incorporated into another third party application via COM.  I've
created a reg4 file using the third party utility.  I know that the
registry file works.

+ Run installation (created by MAKEMSI)
+ open third party application, my program not available
+ close third party application
+ execute reg file
+ open third party application, my program is available

When I run the "Convert to MAKEMSI format" on the reg4 file, the
output is essentially empty, except for the import and date comments,
which are correct.

This is one of 6 entries in the reg4 file.
; CoClass: DataDoors.CommandSubmitRequest
; CLSID: {4F226BC0-E2BF-4B3E-BC09-7B7168B5FEF5}
; Component Category: ESRI Mx Commands
->The following line is all on one line -
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{4F226BC0-E2BF-4B3E-BC09-
7B7168B5FEF5}\Implemented Categories\{B56A7C42-83D4-11D2-A2E9-
080009B6F22B}]

Looking at regedit this path needs to exist.

After looking over the documentation I'm still stumped.  First thing
is this possible to do?  What is the Key, Name, Value parameters?

Would this be a worthy attempt.
<$Registry HKEY="HKEY_LOCAL_MACHINE"
Key="SOFTWARE\Classes\CLSID\{4F226BC0-E2BF-4B3E-BC09-7B7168B5FEF5}
\Implemented Categories\{B56A7C42-83D4-11D2-A2E9-080009B6F22B}"
KeyPath=Y>

What are my other options if this isn't right?

Thanks, Randy

#266 From: "Dennis Bareis" <dbareis@...>
Date: Tue Feb 24, 2004 8:46 am
Subject: Re: Registry
dbareis
Send Email Send Email
 
Hi,

On 23 Feb 2004 at 21:24, rhow_i3 wrote:

> When I run the "Convert to MAKEMSI format" on the reg4 file, the
> output is essentially empty, except for the import and date comments,
> which are correct.

If you are saying the registry importing doesn't appear to be working then
can you please send me the source and output files zipped?



> This is one of 6 entries in the reg4 file.
> ; CoClass: DataDoors.CommandSubmitRequest
> ; CLSID: {4F226BC0-E2BF-4B3E-BC09-7B7168B5FEF5}
> ; Component Category: ESRI Mx Commands
> ->The following line is all on one line -
> [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{4F226BC0-E2BF-4B3E-BC09-
> 7B7168B5FEF5}\Implemented Categories\{B56A7C42-83D4-11D2-A2E9-
> 080009B6F22B}]
>
> Looking at regedit this path needs to exist.
>
> After looking over the documentation I'm still stumped.  First thing
> is this possible to do?  What is the Key, Name, Value parameters?
>
> Would this be a worthy attempt.
> <$Registry HKEY="HKEY_LOCAL_MACHINE"
> Key="SOFTWARE\Classes\CLSID\{4F226BC0-E2BF-4B3E-BC09-7B7168B5FEF5}
> \Implemented Categories\{B56A7C42-83D4-11D2-A2E9-080009B6F22B}"
> KeyPath=Y>

Change to:

     HKEY="LOCAL_MACHINE"

You are also not specifying any name and value so it will create the
default entry.


> What are my other options if this isn't right?


The registry command works but if you want other options you could
create a CA which automated the regedit4 file installation.

Bye,
Dennis

----------------------------
Dennis Bareis (dbareis@...)
Melbourne, AUSTRALIA.

http://www.labyrinth.net.au/~dbareis/index.htm

  - Contains heaps of my own FREE software (OS/2, Windows & Linux):
    * PPWIZARD, HTML preprocessor (or rexx/Javascript etc)
      #define, #include, #import, #if and many other commands.
      Powerful macros, programmable, imports SQL, auto tag examples,
      Tested on OS/2, Windows, DOS & Linux (and more).
    * Pure REXX code for CRC16 & CRC32 routines.
  - Heaps of COMMENTED OS/2, HTML, Java and other links
----------------------------

#267 From: Julian Onions <julianonions@...>
Date: Tue Feb 24, 2004 3:41 pm
Subject: Upgrades and stuff
julianonions
Send Email Send Email
 
What other options do you get when running MSI with an exisiting
installation, other than remove and replace?

I've read through a bit about upgrade codes and it seems to relate to
version numbers and what you can do when they are
found. Can you get it to do remove and replace if its a later version -
if so what sort of macros would I be looking at?

  From looking at the msi file, it seems it doesn't actually put a
version number in that I can tell.
Also I've heard of patch files to make small changes to installations -
can they be created with makemsi?

I probably need to buy a book on the whole MSI stuff I guess. Any
suggestions anyone?

Julian.

#268 From: "rhow_i3" <rhow@...>
Date: Tue Feb 24, 2004 3:53 pm
Subject: Re: Registry
rhow_i3
Send Email Send Email
 
Dennis, Thanks for your response,

> > When I run the "Convert to MAKEMSI format" on the reg4 file, the
> > output is essentially empty, except for the import and date
> > comments,
> > which are correct.
>
> If you are saying the registry importing doesn't appear to be
> working then
> can you please send me the source and output files zipped?

I'll send these to you.

I'll try this.

<$Registry HKEY="LOCAL_MACHINE"
Key="SOFTWARE\Classes\CLSID\{4F226BC0-E2BF-4B3E-BC09-7B7168B5FEF5}
\Implemented Categories\{B56A7C42-83D4-11D2-A2E9-080009B6F22B}"
  KeyPath=Y>

> You are also not specifying any name and value so it will create
> the
> default entry.

Looking at regedit, the default entry is all that exists, so I think
this will be fine.

> > What are my other options if this isn't right?
>
> The registry command works but if you want other options you could
> create a CA which automated the regedit4 file installation.

Please elaborate on what a CA is and how I would use it.

Thanks again!

Randy

Randy How
Geospatial Applications Developer
Email:  rhow@...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
i3 - information integration & imaging
201 Linden Street, 3rd Floor
Fort Collin, CO 80524
Phone:    (970)482-4400
FAX:      (970)482-4499
Web Site: http://www.i3.com

#269 From: "Randy How" <rhow@...>
Date: Tue Feb 24, 2004 6:18 pm
Subject: Re: Registry
rhow_i3
Send Email Send Email
 
I tried this -

<$Component "REGISTRYENTRIES" >

<$Registry HKEY="LOCAL_MACHINE" Key="SOFTWARE\Classes\CLSID\{4F226BC0-
E2BF-4B3E-BC09-7B7168B5FEF5}\Implemented Categories\{B56A7C42-83D4-
11D2-A2E9-080009B6F22B}" >

... other registry entries

<$/Component>

This successfully created the MSI file.  But then when I tested the
installation an error msg was generated.  After "preparing
installation" dialog, the error was thrown.  The msg stated a general
description like "... an error occured..." as well as, ERROR Code:
2709.  I don't know if the code is of any value.

Any thoughts on what I'm doing wrong?


-------------------------------------

> > What are my other options if this isn't right?
> The registry command works but if you want other options you could
> create a CA which automated the regedit4 file installation.

Please elaborate on what a CA is and how I would use it.

Thanks,
Randy

Messages 240 - 269 of 3053   Oldest  |  < Older  |  Newer >  |  Newest
Add to My Yahoo!      XML What's This?

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help