Installing 16bit app into 3.11, 95, NT

I have a simple app to be installed.
Just an exe and some other files in a single folder.
The problem comes with registering them.
I need to install into program manager in 3.11, and onto the start menu in 95 and NT.
I remember something about DDE to talk to program manager, but can't recall the details.
Does anyone have completed code to do this (I'm willing to pay a little), or can point me to some shareware/freeware?
Failing this, how do you put items into the Start Menu?

Bryan

PS
Sorry about the points, they're all I've got!
LVL 1
bcrotazAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

icampbe1Commented:
Well, to put things in Start Menu drop them in C:\Windows\Start Menu.
You can also drag/drop into the appropriate directory inside that tree.
You can also drag/drop onto the start button.
You can also right click on the task bar, choose options + Start Menu Programs.....

For deploying programs however, why not use InstallShield.  It comes with all versions of Delphi, and that is what it is for... Installing programs.
It works very well.

Cheers,
Ian C..

0
bcrotazAuthor Commented:
Erm...
InstallShield Express only installs into 32bit systems.
I need to install a 16 bit app into 3.1, 3.11, 95 and NT

Thanks for the directory info though.

Bryan
0
ronit051397Commented:
In win 3.11. If you want to create a group in the file manager, as you indicated, you use dde. In delphi1 in the demos directory under dde examples there is an example of how to create a group.
This is supposed to work also on win95, but it is not recommended, since, it will create a group, like in win3.11 and not items in the startmenu. In my oppinion, you cannot create
items in the startmenu in delphi16, becuse it doesn't make since that an application that use 16 bit api's will support 32 bit api's. Instead, In this case, also i recommend of the InstallShield Express.
0
Become a Microsoft Certified Solutions Expert

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

bcrotazAuthor Commented:
Hmmm.

I need to distribute a single 1.44MB floppy (client's insistence) with an app that will run on Win 3.11 -> NT.  The 32 bit version of the app zips down to 650kB.
Do the above comments mean I have to have two installers - one for 16 bit, one for 32 bit, with two corresponding apps???
Any ideas?
0
ronit051397Commented:
1. If you write an Installation program or any other application in delphi and you compile it with the 16 bit version. This Installation program/application will work also under win95 (I don't know about NT). In Principle, any 16 bit application can work under a 32 bit enviroment, but not the opposite.

2. Win95 supports on the old win 3.11 program manager, as I indicated before.

3. You cannot Install with a program which creates a startmenu on win3.11, simply, becuase there is no startmenu on win3.11.

Did I understand you well?
0
bcrotazAuthor Commented:
Sorry, I was really looking for a completed app.
I'm in a bit of a hurry.
I'll withdraw the question soonish.
0
fsanchezCommented:
Hello Bryan. This code is extracted from my own installation system. It has worked on Windows 3.11, Windows 95 and Windows NT. Note that DdeClientConv is a TDdeClientConv component with its DdeService property set to 'Progman'.
----------------------
unit Inst;

interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, DdeMan;

type
  TFormExample = class(TForm)
    DdeClientConv: TDdeClientConv;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { List of sentences for Progman }
    ProgmanSentences: TStringList;

    procedure IncludeProgmanSentence(Sentence: String);
    procedure ExecuteProgman;
  end;

var
  FormExample: TFormExample;

implementation

{$R *.DFM}

procedure TFormExample.FormCreate(Sender: TObject);
begin
  ProgmanSentences := TStringList.Create;

  IncludeProgmanSentence('[CreateGroup("My group")]');
  IncludeProgmanSentence('[ShowGroup("My group",1)]');
  IncludeProgmanSentence('[AddItem(MyPath\MyProgram.exe,"MyProgramName")]');
  IncludeProgmanSentence('[AddItem(MyPath\MySecondProgram.EXE,"MySecondProgramName")]');
  IncludeProgmanSentence('[ExitProgman(1)]');
  ExecuteProgman;

  ProgmanSentences.Free;
end;

{ Includes another sentence for Progman }
procedure TFormExample.IncludeProgmanSentence(Sentence: String);
begin
  ProgmanSentences.Add(Sentence);
end;

{ Executes all the sentences }
procedure TFormExample.ExecuteProgman;
begin
  if ProgmanSentences.Count > 0 then
  begin
    FormExample.DDEClientConv.OpenLink;
    FormExample.DDEClientConv.ExecuteMacroLines(ProgmanSentences, False);
    FormExample.DDEClientConv.CloseLink;
  end;
end;

end.

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
bcrotazAuthor Commented:
I understand its operation in Win 3.11... What does it do in 95 and NT?

Bryan
0
bcrotazAuthor Commented:
Adjusted points to 100
0
fsanchezCommented:
Well, it creates a group under Start | Programs. That's the logical approach, I think.
0
bcrotazAuthor Commented:
A group being a folder containing a shortcut?
Or a menu item containing a shortcut?
0
fsanchezCommented:
The group in Windows 3.1 is mapped to a group folder in Start|Programs in Windows 95 and Windows NT 3.5 and above.
The icons contained in that group in Windows 3.1 are mapped to shortcuts belonging to the group folder.

Is exactly the same behavior that you may expect from any 16bit program that you install on Windows 95 or NT.
0
fsanchezCommented:
Do you have any more question?
0
bcrotazAuthor Commented:
I'm just playing with it today - other things got in the way (as usual!!!)

I'll grade your answer on Monday.

Thanks.
0
fsanchezCommented:
Sorry, I think you should grade or reject this answer now, because it is going out of date.
0
bcrotazAuthor Commented:
Sorry - my ISP link was down for a couple of weeks....
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.