Topaz Filer: if you use e-mail for business, we can save you money and decrease your risk.
Setup project's SendTo shortcut not working
Messages   Related Types
This message was discovered on microsoft.public.dotnet.framework.setup.
Responses highlighted in red are from those people who are likely to be able to contribute good, authoratitive information to this discussion. They include Microsoft employees, MVP's and others who IMHO contribute well to these kinds of discussions.

Jerry Houston
I built a little utility that accepts file paths on the command line, and I
wanted to install it such that a user could select some files in Explorer,
then SendTo the utility. If I manually create a shortcut in my Documents
and Settings\<username>\SendTo folder, it works like a charm. But others
are going to be using this as well, and I wanted to automate creating that
shortcut as part of the setup project.

I've had no problem creating the shortcut there, but a shortcut that is
created elsewhere and copied to the SendTo folder won't show up in the
Explorer context menu as a SendTo destination. Shortcuts created there by
Explorer work just fine. Shortcuts created elsewhere (including by the
setup project) are 2K in size on my XP machine, while shortcuts originally
created in that folder are only 1K in size. So there's definitely a
difference besides the works/doesn't difference.

Is there something I need to do to modify the shortcut created by the
install project so that XP will recognize it and include the application in
its SendTo list? Thanks in advance for any help!

Reply to this message...
Vote that this is a GOOD answer...
 
Auto-following on Twitter
Ubuntu and XP on one “desktop”
 
    
Todd Derksen [MSFT] (VIP)
Jerry, this can be done however it does require some tinkering with your MSI file.
What is happening here is that setup projects create advertised shortcuts that happen to not work when used in the send to folder.
To create a regular shortcut in your deployment project you will need to use the ORCA tool.
It comes with the Windows installer SDK available here http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
The documentation is also available there.
What you have to do is open the MSI with Orca and go to the shortcut table.
In the shortcut table you will find an entry for every shortcut your project creates, find your shortcut in the table.
You now want to change the Target from "DEFAULTFEATURE" to probably "[TARGETFOLDER]\<name of your app>"
You then want to remove any text under the Icon_ row.
The Target row contains information about how the shortcut accesses the program when you add the [ ] around it it tells it that it is not an advertised shortcut.
[TARGETFOLDER] is a macro that expands into the installed folder for the app.
The Icon_ column is necessary for advertised shortcuts and needs to be removed.

I hope that helps.
------
Todd Derksen - VBQA Deployment Testing
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------

--------------------
| From: "Jerry Houston" <Click here to reveal e-mail address>
| Subject: Setup project's SendTo shortcut not working
|
| I built a little utility that accepts file paths on the command line, and I
| wanted to install it such that a user could select some files in Explorer,
| then SendTo the utility. If I manually create a shortcut in my Documents
| and Settings\<username>\SendTo folder, it works like a charm. But others
| are going to be using this as well, and I wanted to automate creating that
| shortcut as part of the setup project.
|
| I've had no problem creating the shortcut there, but a shortcut that is
| created elsewhere and copied to the SendTo folder won't show up in the
| Explorer context menu as a SendTo destination. Shortcuts created there by
| Explorer work just fine. Shortcuts created elsewhere (including by the
| setup project) are 2K in size on my XP machine, while shortcuts originally
| created in that folder are only 1K in size. So there's definitely a
| difference besides the works/doesn't difference.
|
| Is there something I need to do to modify the shortcut created by the
| install project so that XP will recognize it and include the application in
| its SendTo list? Thanks in advance for any help!
|
|
|

Reply to this message...
Vote that this is a GOOD answer...
 
 
    
Jerry Houston
Thanks to both you and Phil for your help. There's no way in the world I
could have figured this out.

It's actually the user account's SendTo folder where the shortcut needs to
be created. Is that what [TARGETFOLDER]\<name of my app> will expand to?

Since the setup editor provides the user's SendTo folder as a destination,
and will create a shortcut there, is there any chance that a future VS
version might be able to do this by itself, and create viable shortcuts in
that destination? Is that already on the wish list?

"Todd Derksen [MSFT]" <Click here to reveal e-mail address> wrote in message
news:fKn$Click here to reveal e-mail address...
> Jerry, this can be done however it does require some tinkering with your
MSI file.
> What is happening here is that setup projects create advertised shortcuts
that happen to not work when used in the send to folder....

Reply to this message...
Vote that this is a GOOD answer...
 
 
    
Todd Derksen [MSFT] (VIP)
Hopefully this will clear up the issue about Where a shortcut lives and what it points at.
Where the shortcut lives is determined by the Directory_ Entry in the database which should be = SendToFolder.
The Target is what the shortcut points at.
[TARGETFOLDER] will expand to the install directory of the setup project, if this is not where your application is installing to, we will have to figure out
another way to point at it.

If you do not have other shortcuts in your program that would benifit from the advertise feature Phil suggestion sounds good.

We are aware of this issue and it is on a wish list, however it is a very long wish list and I do not think it will be changed for the next version, sorry.

------
Todd Derksen - VBQA Deployment Testing
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
|
| Thanks to both you and Phil for your help. There's no way in the world I
| could have figured this out.
|
| It's actually the user account's SendTo folder where the shortcut needs to
| be created. Is that what [TARGETFOLDER]\<name of my app> will expand to?
|
| Since the setup editor provides the user's SendTo folder as a destination,
| and will create a shortcut there, is there any chance that a future VS
| version might be able to do this by itself, and create viable shortcuts in
| that destination? Is that already on the wish list?
|
| "Todd Derksen [MSFT]" <Click here to reveal e-mail address> wrote in message
| news:fKn$Click here to reveal e-mail address...
| > Jerry, this can be done however it does require some tinkering with your
| MSI file.
| > What is happening here is that setup projects create advertised shortcuts
| that happen to not work when used in the send to folder....
|
|
|

Reply to this message...
Vote that this is a GOOD answer...
 
 
    
Jerry Houston
Thanks for the additional information. I think that probably would have
enabled me to do it the way you suggested.

I'm mostly a winform/webservice developer, and haven't worked much with the
installer technology. I'm unaware of how "advertised" and "unadvertised"
shortcuts differ, but I took Phil's suggestion, and it worked a charm. I do
install another shortcut, on the user's desktop, and that looks and works
just as I expect it to (even though it is now "unadvertised").

Thanks again to both of you for your help. My utility installation now
creates a proper shortcut that makes SendTo possible without any fuss on the
part of the person installing it.

"Todd Derksen [MSFT]" <Click here to reveal e-mail address> wrote in message
news:Click here to reveal e-mail address...
> Hopefully this will clear up the issue about Where a shortcut lives and
what it points at.
> Where the shortcut lives is determined by the Directory_ Entry in the
database which should be = SendToFolder.
[Original message clipped]

figure out
[Original message clipped]


Reply to this message...
Vote that this is a GOOD answer...
 
Outlook interop - stopping user properties appearing on Outlook message print
Seriously, why is “cut and paste” majorly newsworthy???
 
    
Phil Wilson
It might be easier to just add the DISABLEADVTSHORTCUTS property with a value of
1 in the Property table.
--
Phil Wilson [MVP Windows Installer]
----
"Todd Derksen [MSFT]" <Click here to reveal e-mail address> wrote in message
news:fKn$Click here to reveal e-mail address...
> Jerry, this can be done however it does require some tinkering with your MSI
file.
> What is happening here is that setup projects create advertised shortcuts that
happen to not work when used in the send to folder.
> To create a regular shortcut in your deployment project you will need to use
the ORCA tool.
> It comes with the Windows installer SDK available here
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
[Original message clipped]

shortcut.
[Original message clipped]

Reply to this message...
Vote that this is a GOOD answer...
 
 
    
aryxmyth@gmail.com
I found that using "[TARGETDIR]\<name of your primary output exe>"
worked correctly.

I posted my solution at
http://www.smithism.com/tech-journal/2005/1/19/deploying-an-apps-shortcut-in-the-users-send-to-menu.html
giving credit to Todd.

Thanks

Reply to this message...
Vote that this is a GOOD answer...
 
Email Archiving and Email Filing - what’s the difference?
Web-based task/todo list management
 
 




Ad
BootFX
Reliable and powerful .NET application framework.
Recession Busting Bespoke Software
Get through the recession by investing in bespoke software to decrease costs and create commercial opportunities.
Other DN247 Network Sites
.NET 247
SQL Server Wins
Old Skool Developer
 
Copyright © AMX Software Ltd 2008-2009. Portions copyright © Matthew Baxter-Reynolds 2001-2009. All rights reserved.
Contact Us - Terms of Use - Privacy Policy - .NET 247 is a member of the DN247 Network - 4.0.30129.1734