Hi,

I want to include shortcuts to network apps in an MSI.

Is this possible? I use WinInstal LE2003.

Please help...

PatB
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
Pat, can you please elaborate on exactly what it is that you want to accomplish?
Answered 07/28/2004 by: cdupuis
Third Degree Green Belt

Please log in to comment
0
Hi,

I have an application which resides on a network share. The application needs the Borland Database Engine. I've made a snapshot which enrolls the BDE, but I want an shortcut in this package to the network application.
I hope this is enough information for you.

PatB
Answered 07/28/2004 by: PatB
Senior Yellow Belt

Please log in to comment
0
Well this is the way I do it so that it can be advertised if you are not installing binaries to the network drive. I create a shortcut to a local vbs file that will open the exe. Here is a sample script:

Set shell = CreateObject("WScript.Shell")
file = "R:\appy\app.exe"
args = "/f S:\data\f00.dat"
shell.Run Chr(34) & file & Chr(34) & " " & Chr(34) & args & Chr(34), 1, TRUE
Answered 07/28/2004 by: kkaminsk
Ninth Degree Black Belt

Please log in to comment
0
That's right, make an .vbs:
Set WshShell=WScript.CreateObject("WScript.Shell")
cmd="\\NETWORKSHARE\PROGRAM.EXE"
WshShell.Run (cmd)

this only starts the executable
Answered 08/02/2004 by: inert
Orange Belt

Please log in to comment
0
Thank you for your advice...
Answered 08/05/2004 by: PatB
Senior Yellow Belt

Please log in to comment
-2
Aaargh!

You did a SNAPSHOT of the BDE?!

As a long-time Delphi developer, that scares the hell out of me!

PLEASE, go to the Borland web site and get the appropriate BDE merge module!

http://info.borland.com/devsupport/bde/bdeupdate.html

You will also need to learn how to use the little .exe Borland provides for setting up your aliases - you can use this in a custom action, I think.

A few more questions: does your network app connect to a database? Might users need to read or write data to the database simultaneously?

If so, then you ALSO need to think about your lock files (like PARADOX.NET) and how your installation will handle them.

For more information, look here: http://community.borland.com/article/0,1410,15212,00.html

As for your shortcut, just use your install tool's ability to create shortcuts, and list your application (I like UNC names) as the TARGET.

I hope this helps, and good luck.

- Sean Roberts
Answered 08/05/2004 by: sean_c_roberts
Senior Purple Belt

Please log in to comment
0
Hi,

If you do not want to use a script to create a shortcut to a network app use Masai Editor and create a CMDL shortcut.
Answered 09/10/2004 by: plourenco
Senior Yellow Belt

Please log in to comment
0
You can do the same in InstallShield and Wise. The reason I proposed the ugly script is that I made the assumption that the solution would include advertising the shortcut.
Answered 09/13/2004 by: kkaminsk
Ninth Degree Black Belt

Please log in to comment
0
ORIGINAL: inert

That's right, make an .vbs:
Set WshShell=WScript.CreateObject("WScript.Shell")
cmd="\\NETWORKSHARE\PROGRAM.EXE"
WshShell.Run (cmd)

this only starts the executable


I would like to do something similar to this. I wish to replace a shortcut to a local file. The target is in c:\program files\app\app.exe but it has a "start in" to \\network share\folder

I tried the above code but this only works if the exe is located on the network share. I wish to know how to execute the exe in program files but start in at the network share. I have searched google high and low and can't find anything.
Answered 06/02/2005 by: Swipe
Senior Yellow Belt

Please log in to comment
0
What's wrong with using the "WkDir" column of the "Shortcut" table?

http://msdn.microsoft.com/library/en-us/msi/setup/shortcut_table.asp
Answered 06/02/2005 by: WiseUser
Fourth Degree Brown Belt

Please log in to comment
0
It comes up with network error when it trys to install and doesn't have access to the network share.
Answered 06/02/2005 by: Swipe
Senior Yellow Belt

Please log in to comment
0
If they don't need to be advertised, you can do a LNK file (which is cheap, but it works).

The other thing we use here, if we have a local EXE but a network'd start in, is to make a custom action called SetNetworkDrive

'PATH MUST END WITH A BACK SLASH
'PATH MUST BE FULL PATH TO EXE WITHOUT THE EXE NAME
'SEQUENCE THIS CUSTOM ACTION AFTER InstallValidate and put condition REMOVE <> "ALL"

On Error Resume Next
Session.Property("NETWORKDRIVE") = "ENTER NETWORK LOCATION HERE"


Then in working directory, we put [NETWORKDRIVE] and poof, all is well.
Answered 06/02/2005 by: Ipstenu
Senior Yellow Belt

Please log in to comment
0
You appear to be the victim of a limitation (or bug) in the Wise interface.

Although the Wise interface only lists "Directory" table entries in the drop down list for the working directory, the "Wkdir" column of the "Shortcut" table will accept a property too.

If you use a directory table entry, you will receive an error during installation if the network share is missing.

Instead, create use a public property and either hard code it's value in the property table, or specify a value on the command line. Beware that values specified on the command line will not be remembered for future repairs/reinstalls (you will need a custom action for this).

Btw Ipstenu... I don't know where you're from, but you should take care when using the word "poof" - it may not have the same meaning as it does in your country? I don't suppose you're French are you?[;)]
Answered 06/02/2005 by: WiseUser
Fourth Degree Brown Belt

Please log in to comment
0
Thanks for the help everyone. I used the lnk file option. The other solutions will be handy for the future though.
Answered 06/02/2005 by: Swipe
Senior Yellow Belt

Please log in to comment
0
Instead, create use a public property and either hard code it's value in the property table, or specify a value on the command line. Beware that values specified on the command line will not be remembered for future repairs/reinstalls (you will need a custom action for this).

WiseUser, that's why we use a VBS in the custom action with the condition 'REMOVE <> "ALL"' :) It seems to cover us so far (we had a bad time when we used 'Not Installed' instead, and did a repair on an app and the shortcuts were screwed).

And yeah, I know from poof ;) Not a Francophile, but we have offices world wide and I seem to be the only MSI tech who knows from Brit and French Slang, so I get to have a blast on those support calls. I'm sure you know was meaning it as the good ol' American 'Wave my wand and *alakazam!* it works!'
Answered 06/02/2005 by: Ipstenu
Senior Yellow Belt

Please log in to comment
0
Just to chime in with another method.

Create a .lnk file to your network app and add it to your package as a file installed into a local program directory. Then you can create an advertised shortcut pointing to the link file that you install. If the computer is not attached to the network, clicking the shortcut to the link simply won't launch anything (you don't get the "Problem with shortcut" error). The limitation is that this only works on a Windows XP or above OS. Win2k dosen't like it. I have never tried it on Win9x or ME.

BTW sean_c_roberts mentioned the BDE merge module...that link won't do you any good as you have to have Delphi installed to even open the exe. Not exactly useful to a packager, that. Best bet is to run the BDE exectuable that comes with your app as a custom action.
Answered 06/02/2005 by: BobTheBuilder
Purple Belt

Please log in to comment
Answer this question or Comment on this question for clarity