PDA

View Full Version : Additional install location



NewsArchive
04-08-2009, 01:36 AM
Friedrich,

Using SB 7, I need to add a new dialog to prompt for the location of the
data drive. Or add it to the install dialog. Then I want to place this in
an INI file, which I think I can work out where that goes <g>.

Any suggestions?

--
Russell B. Eggen
www.radfusion.com
Skype Clarion chat: http://tinyurl.com/2273lm

NewsArchive
04-08-2009, 01:38 AM
Russ,

> Using SB 7, I need to add a new dialog to prompt for the location of the
> data drive. Or add it to the install dialog. Then I want to place this
> in an INI file, which I think I can work out where that goes <g>.
>
> Any suggestions?

Something similar to "Custom Dialog Demo 3.sb7" ;-) See attached russ.jpg
screenshot.

The source code project can be found in the "SB7 Examples" package.

Or as an alternative, the "Combo Box 2.sb6" from the SB6 Examples package
(only displays available drives). See attached combo.jpg.

Does this help?

Friedrich

--
Friedrich Linder
Lindersoft
www.lindersoft.com
+1.954.252.3910

SetupBuilder "point. click. ship"
Create Windows Vista ready installations in minutes

-- Official Comodo Code Signing and SSL Certificate Partner

NewsArchive
04-08-2009, 01:39 AM
Thank you. I keep forgetting to download the examples, thought it was empty
since SB7 was still beta. ;-)

I'll give that a look. I just need to direct the drives (or UNC convention)
for the program and the data. They need to have these on different drives.

--
Russell B. Eggen
www.radfusion.com
Skype Clarion chat: http://tinyurl.com/2273lm

NewsArchive
04-08-2009, 01:39 AM
Friedrich,

Still going through this, maybe I'm making this harder than I need to. Let
me set the scene for you.

I've got the usual install location dialog, which is fine as the programs
have to go somewhere. I've set the data location to CSIDL_COMMON_APPDATA.
But that has drive C: in that string so I either must substitute the drive
portion of that string to a network drive (like M:) or build the path with
something like Set Variable %NETWORK_DATA to %NETWORK_DATA_DRV &
"\PropgramData\RADFusion\ThisApp\Data"

Regardless of which method I use, I then need to build an entry in the INI
(which lives in CSIDL_COMMON_APPDATA) so my program knows where the data
files are to be found.

I've got the install perfect for the programs and the INI (which my app
builds with default values if not found). Its this extra dialog for the
network data location that I need and I've not got everything straight in my
head yet. Been going over your suggestions, but something just isn't firing
yet.

--
Russell B. Eggen
www.radfusion.com
Skype Clarion chat: http://tinyurl.com/2273lm

NewsArchive
04-08-2009, 01:41 AM
Russ...
I think you may indeed be making it more complicated.
Windows itself should properly resolve the CSIDL at runtime on your client's
computer... and you're likely to screw it up (technical term <g>) doing it
yourself.
See attached screen shot of Randy Rogers' cmag program running on my Vista
desktop on an Active Directory domain with some folder redirection going on.

Jane

NewsArchive
04-08-2009, 01:43 AM
Wrong screen shot :-(

Jane Fleming

NewsArchive
04-08-2009, 01:44 AM
Well, as long as we're displaying favorite CSIDL screenshots, here's mine!

:-D

Product Description - Icetips Special Folders, MFG - Icetips Creative
Internet Link - http://www.icetips.com/downloadfile.php?FileID=71

David


--
From David Troxell - Product Scope 7 - Encourager Software
Clarion Third Party Profile Exchange Online
http://encouragersoftware.com/profile/clarlinks.html
Profile Exchanges - www.encouragersoftware.com/profile/
http://www.profileexchanges.com/blog/

NewsArchive
04-08-2009, 01:45 AM
But mine's more favorite because it showed UNC paths, which was the point I
was making brilliantly <g>

Actually, I had written a similar but way-ugly tool and had talked with Dave
Harms about doing something on CSIDLs a few years back, but then Randy sent
Dave his article which included the great INI stuff... so I ditched my tool
and used his. Arnor made his available some time later. Great minds, or
something like that....

Jane

NewsArchive
04-08-2009, 01:46 AM
> But mine's more favorite because it showed UNC paths, which was the point I
> was making brilliantly <g>

Jane,

I know (UNC paths), but I just couldn't resist! :-D

Well, with this revived UAC talk, messages, general interest, Clarion 7
forward thinking etc

was thinking maybe you and Dave were cooking up an expanded Multi-user
version and more technical article of what I started in
http://profileexchanges.com/blog/?p=120.

I know you've covered a LOT of territory in past articles, but what I think
really brought the interest level in my blog to a high peak was the very
practical -

use this tool - CapeSoft WinEvent - use this code at "Program Setup" Global
embed - Priority 5104 and here's an important XP - Non-admin support tip
too -

of course, with a single user approach, but, none the less, a start for
many Clarion developers who haven't transitioned to UAC safe methods.

With your expanded technical expertise, and a multi-user approach, it would
be a blockbuster article!

Inquiring minds want to know! :-D

David

--
From David Troxell - Product Scope 7 - Encourager Software
Clarion Third Party Profile Exchange Online
http://encouragersoftware.com/profile/clarlinks.html
Profile Exchanges - www.encouragersoftware.com/profile/
http://www.profileexchanges.com/blog/

NewsArchive
04-08-2009, 01:47 AM
Jane,

See how confusing this is? ;-)

I'm installing my data under CSIDL_COMMON_APPDATA already and it works fine.
But its always the local drive, which is not fine (I just found this out
today) as it needs to be on the network. Everything else in the install is
working fine. I use CSIDL_COMMON_APPDATA as the default value, but this is
never offered as a change to the client, only the install location.

What I need to do is build a new dialog, just like the install folder
dialog, but for data locations, actually a network version of
CSIDL_COMMON_APPDATA. Then take the selected choice and ensure the setting
is placed in the INI file, all before the install quits. I really don't
want to change any user's settings, I want to be able to get the network
version of ProgramData.

I've got Arnor's CSIDL tool and its very similar to Randy's.

--
Russell B. Eggen
www.radfusion.com
Skype Clarion chat: http://tinyurl.com/2273lm

NewsArchive
04-08-2009, 01:48 AM
Maybe not what you want but my main app I have in the installer a "case" where the user selects if he is installing server version (all files) or workstation and in this
case I have a dialog where he SELECTS the lan path to the exe to 'link' then as he is running the installer from HIS machine I pick up all there
when installer is done on the server then I store in reg the data path selected bu the admin in HKLM and in an ini path in program dir
(when user starts app it is copied to HKCU for their usage)
when the workstation is run it reads as it now knows the program dir - from that ini file installed by server install to get the data common documents path.....
a bit crooked minded but works fine .....


Cordialement - Best regards
Jean-Pierre GUTSATZ

CGF

DMC - Data Management Center
A tool to let you Migrate Import Export Transfer your Data
www.dmc-fr.com
Certified by Microsoft : "Works with Vista" &
"Works with Windows Server 2008"

NewsArchive
04-08-2009, 01:48 AM
Hi Russ,

I for one still don't understand what you are asking for. I am not
aware of any Windows capability to interrogate the appdata location of a
networked computer. I am pretty sure you will have to prompt for the
path and have the user navigate to it.

Are you asking how to write a script fragment to prompt for a network path?

Use the Select Install Folder wizard dialog, and specify a variable on
the Advanced tab to receive the path. (otherwise it will store the
prompted path in %_SB_INSTALLDIR%, which you obviously don't want to
happen) Modify the other dialog parts to suit.

--
Phil Carroll
http://www.enablingsimplicity.com

NewsArchive
04-08-2009, 01:49 AM
Yes. Network *data* path. Thanks, I'll look for that.

--
Russell B. Eggen
www.radfusion.com
Skype Clarion chat: http://tinyurl.com/2273lm

NewsArchive
04-08-2009, 01:49 AM
This incredible tool is so deceiving because where you see a single
function listed in the very lengthy Script Functions list, many of the
so-called "functions" are actually whole families of functions. And
these function families sometime have very unintuitive names. (Maybe
they are intuitive in German <g>)

Like, I always have to go hunting for the generic string manipulator
which is no less than 38 different functions! All with totally
different parameters! Powerful, but I can never get my mind around the
concept of looking under "H" for "string". <g> (h for handle string
operation)

And all dialogs are totally configurable, so can be molded to do pretty
much anything.

Enter custom prompt text directly in the entry fields where the default
identifiers are. If text is too long, define custom identifiers in the
Text and Messages panel, and use those instead.

--
Phil Carroll
http://www.enablingsimplicity.com

NewsArchive
04-08-2009, 01:50 AM
Hi Phil,

> This incredible tool is so deceiving because where you see a
> single function listed in the very lengthy Script Functions
> list, many of the so-called "functions" are actually whole
> families of functions. And these function families sometime
> have very unintuitive names.

If possible, please post a list of "unintuitive names" and I'll change it in
SB7. I tried to create self-describing functions in SetupBuilder and I am
using a mix of Clarion, C, Basic and Windows API function names. For
example, InStr, InStrI, Len, Lower, Upper. Sometimes I am not following the
conventions because the "standard" name for a specific functionality would
be too confusing for SB users. In this case, I create my own function name
(e.g. "Reverse String" instead of "strrev").

Thanks,
Friedrich

--
Friedrich Linder
Lindersoft
www.lindersoft.com
+1.954.252.3910

SetupBuilder "point. click. ship"
Create Windows Vista ready installations in minutes

-- Official Comodo Code Signing and SSL Certificate Partner

NewsArchive
04-10-2009, 01:52 AM
> If possible, please post a list of "unintuitive names" and I'll change it in
> SB7.

"Unintuitive names" was probably not the right description. It is more
a problem that the item names alphabetize in a manner that they are
sometimes difficult to locate.

It would be very helpful if your categorized groups could be collapsed
and expanded in tree list fashion. And if you ceated more categories at
the same time. There are an immense number of functions in the list to
scroll. The list would be easier to navigate if it had more groups with
fewer items per group and the groups could be collapsed. Some functions
I rarely, or never, use. Yet, I must tediously scroll past them every
time I search for a function. If they were in collapsed groups I might
do virtually no scrolling.

As to alphabetizing, I suggest you put the most descriptive word first
so that it is easier to find in an alphabetic list. For instance, the
word "handle" is essentially devoid of meaning. That is one that I
particularly have trouble associating with what I am looking for,
especially if I haven't used SB for several weeks.

Instead of "Handle String Function", I suggest "String Operations".
Instead of "Handle File Listing", I suggest "Directory Operations".
Instead of "Handle Text File ...", I suggest "File Line Operations"
You might consider grouping all of the "handle" functions under a
separate "Multifunction commands" category. These collectively contain
a multitude of functions. You might include "Get File Info" in this
group.

You might consider collecting all of the Windows functions under a
separate "Target System Functions" category:
* all Registry functions
* all Windows Service functions
* Windows environment
* Register File Operation (This one is really unintuitive - there surely
is a better name)

And so forth.

Just suggestions. You might come up with even better grouping ideas
yourself.

--
Phil Carroll
http://www.enablingsimplicity.com