Windows Develop Bookmark and Share   
 index > ClickOnce and Setup & Deployment Projects > Windows Desktop Search Prerequisite
 

Windows Desktop Search Prerequisite

Anyone know if there's a prequisite available for ClickOnce apps that depend on WDS 4.0?

Thanks,

Tim

p.s. Every time I try and search for "Windows Desktop Search" in this forum, I get a 500 error.
TimHaughton  Wednesday, September 09, 2009 10:33 AM

If there is a redistributable for it, you can roll your own prerequisite package using the Bootstrapper Manifest Generator. Here's some info on that:

BMG post from Guyer
http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/92d68fc3-3c00-4435-9d45-f781aad89ad1

Instructions on using it:
http://jcrawfor74.wordpress.com/2008/02/27/bootstrap-manifest-generator-how-to-custom-pre-requisites/

RobinDotNet


Click here to visit my ClickOnce blog!
RobinDotNet  Wednesday, September 09, 2009 4:18 PM
Hello Tim,

Apart from Robin's suggestion, if you want to know more aboutprerequisite, Please take a look at the following articles:

Product and Package Schema Reference
http://msdn.microsoft.com/en-us/library/ms229223.aspx

Use the Visual Studio 2005 Bootstrapper to Kick-Start Your Installation
http://msdn.microsoft.com/en-us/magazine/cc163899.aspx

Thanks,
Rong-Chun Zhang
MSDN Subscriber Support in Forum
If you have any feedback on our support, please contact msdnmg@microsoft.com
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Rong-Chun Zhang  Thursday, September 10, 2009 9:14 AM

Hello Tim,

I emailled to you.

For other members

It seems there is a typo in your product.xml file. In your file, you use:

<RegistryCheck Property="WordVersion Key="HKCR\Word.Application" Value="CurVer" />

It needs to be changed to

<RegistryCheck Property="WordVersion�Key="HKCR\Word.Application" Value="CurVer" />

Let me know if it helps.

Thanks,
Rong-Chun Zhang
MSDN Subscriber Support in Forum
If you have any feedback on our support, please contact msdnmg@microsoft.com


Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Rong-Chun Zhang  Monday, September 21, 2009 11:13 AM
I also had "Equals" instead of "ValueEqualTo". Now seems to work fine. Here's the final thing:

<?xml version="1.0" encoding="utf-8"?>
<Product ProductCode="Microsoft.Windows.Search.4" xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper">
  <PackageFiles CopyAllPackageFiles="false">
    <PackageFile Name="windowssearch-kb940157-xp-x86-enu.exe" HomeSite="http://download.microsoft.com/download/A/5/6/A56B2342-8EBE-46FF-85F7-D9A9CA887BFA/WindowsSearch-KB940157-XP-x86-enu.exe" PublicKey="3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD9706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E3958977609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001" />
  </PackageFiles>
  <InstallChecks>
    <RegistryCheck Property="WDSVersion" Key="HKLM\SOFTWARE\Microsoft\Windows Desktop Search" Value="Version" />
    <RegistryCheck Property="WordVersion" Key="HKCR\Word.Application" Value="CurVer" />
    <RegistryCheck Property="ExcelVersion" Key="HKCR\Excel.Application" Value="CurVer" />
    <RegistryCheck Property="OutlookVersion" Key="HKCR\Outlook.Application" Value="CurVer" />
  </InstallChecks>
  <Commands>
    <Command PackageFile="windowssearch-kb940157-xp-x86-enu.exe" Arguments='/quiet /norestart'>
      <InstallConditions>
        <BypassIf Property="WDSVersion" Compare="VersionGreaterThanOrEqualTo" Value="4.00.0000.0000"/>
        <BypassIf Property="WordVersion" Compare="ValueEqualTo" Value="Word.Application.12"/>
        <BypassIf Property="ExcelVersion" Compare="ValueEqualTo" Value="Excel.Application.12"/>
        <BypassIf Property="OutlookVersion" Compare="ValueEqualTo" Value="Outlook.Application.12"/>
        <BypassIf Property="WordVersion" Compare="ValueEqualTo" Value="Word.Application.14"/>
        <BypassIf Property="ExcelVersion" Compare="ValueEqualTo" Value="Excel.Application.14"/>
        <BypassIf Property="OutlookVersion" Compare="ValueEqualTo" Value="Outlook.Application.14"/>
      </InstallConditions>
      <ExitCodes>
        <DefaultExitCode Result="Success" String="Anunexpectedexitcodewasr" FormatMessageFromSystem="true" />
      </ExitCodes>
    </Command>
  </Commands>
</Product>


TimHaughton  Tuesday, September 22, 2009 9:38 AM

If there is a redistributable for it, you can roll your own prerequisite package using the Bootstrapper Manifest Generator. Here's some info on that:

BMG post from Guyer
http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/92d68fc3-3c00-4435-9d45-f781aad89ad1

Instructions on using it:
http://jcrawfor74.wordpress.com/2008/02/27/bootstrap-manifest-generator-how-to-custom-pre-requisites/

RobinDotNet


Click here to visit my ClickOnce blog!
RobinDotNet  Wednesday, September 09, 2009 4:18 PM
Hello Tim,

Apart from Robin's suggestion, if you want to know more aboutprerequisite, Please take a look at the following articles:

Product and Package Schema Reference
http://msdn.microsoft.com/en-us/library/ms229223.aspx

Use the Visual Studio 2005 Bootstrapper to Kick-Start Your Installation
http://msdn.microsoft.com/en-us/magazine/cc163899.aspx

Thanks,
Rong-Chun Zhang
MSDN Subscriber Support in Forum
If you have any feedback on our support, please contact msdnmg@microsoft.com
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Rong-Chun Zhang  Thursday, September 10, 2009 9:14 AM
Hello Tim,

Have you got any progress on this issue with the suggestions? If there is anything else we can help, welcome to post here.

Thanks,
Rong-Chun Zhang
MSDN Subscriber Support in Forum
If you have any feedback on our support, please contact msdnmg@microsoft.com
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Rong-Chun Zhang  Wednesday, September 16, 2009 11:33 AM
Hi, OK I'm still wondering what to do. The BMG, although a good idea, is bordering on useless. Pretty much everything I try and do results in an unhandled exception, so I've given up with that. I managed to get it to generate a product.xml file once, so I've edited it by hand. Here's what I have at the minute:

In product.xml...

<?xml version="1.0" encoding="utf-8"?>
<Product ProductCode="" xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper">
  <PackageFiles CopyAllPackageFiles="false">
    <PackageFile Name="windowssearch-kb940157-xp-x86-enu.exe" HomeSite="http://download.microsoft.com/download/A/5/6/A56B2342-8EBE-46FF-85F7-D9A9CA887BFA/WindowsSearch-KB940157-XP-x86-enu.exe" PublicKey="3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD9706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E3958977609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001" />
  </PackageFiles>
  <InstallChecks>
    <RegistryCheck Property="WDSVersion" Key="HKLM\SOFTWARE\Microsoft\Windows Desktop Search" Value="Version" />
    <RegistryCheck Property="WordVersion Key="HKCR\Word.Application" Value="CurVer" />
    <RegistryCheck Property="ExcelVersion" Key="HKCR\Excel.Application" Value="CurVer" />
    <RegistryCheck Property="OutlookVersion" Key="HKCR\Outlook.Application" Value="CurVer" />
  </InstallChecks>
  <Commands>
    <Command PackageFile="windowssearch-kb940157-xp-x86-enu.exe" Arguments='/quiet /norestart'>
      <InstallConditions>
        <BypassIf Property="WDSVersion" Compare="VersionGreaterThanOrEqualTo" Value="4.00.0000.0000"/>
        <BypassIf Property="WordVersion" Compare="Equals" Value="Word.Application.12"/>
        <BypassIf Property="ExcelVersion" Compare="Equals" Value="Excel.Application.12"/>
        <BypassIf Property="OutlookVersion" Compare="Equals" Value="Outlook.Application.12"/>
        <BypassIf Property="WordVersion" Compare="Equals" Value="Word.Application.14"/>
        <BypassIf Property="ExcelVersion" Compare="Equals" Value="Excel.Application.14"/>
        <BypassIf Property="OutlookVersion" Compare="Equals" Value="Outlook.Application.14"/>
      </InstallConditions>
      <ExitCodes>
        <DefaultExitCode Result="Success" String="Anunexpectedexitcodewasr" FormatMessageFromSystem="true" />
      </ExitCodes>
    </Command>
  </Commands>
</Product>
Our app needs a preview host installed on the machine, so on XP it requires either Windows Search 4 or Office 2007 to be installed. I think this will do it.

Now that I have my xml file...what do I do with it? Even when I managed to get BMG to run, nothing got installed in VS's prerequisites.

Tim
TimHaughton  Thursday, September 17, 2009 8:59 AM
Bump
TimHaughton  Friday, September 18, 2009 7:53 AM
Hello Tim,

Adding our own redistributables to Visual Studio requires that we author the product and package manifests, then copy these files along with the redistributable files into a special folder that Visual Studio has reserved for redistributables that plug into the Bootstrapper. This folder is installed by default like so:

For Visual Studio 2005:
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper

For Visual Studio 2008:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper

Thanks,
Rong-Chun Zhang
MSDN Subscriber Support in Forum
If you have any feedback on our support, please contact msdnmg@microsoft.com
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Rong-Chun Zhang  Friday, September 18, 2009 8:37 AM
Hi, thanks for that. I added the folder in

C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\PrevHost

I set the product code to "Microsoft.Windows.Search.4"

I've restarted VS but it doesn't appear in the Prerequisites list. Any suggestions?


Thanks,

Tim
TimHaughton  Friday, September 18, 2009 9:14 AM
Hello Tim,

Thanks for your feedback.

How about the package.xml, did you also copied the file int prerequisite folder? I use the BMG to generated these output and copy them to C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages and I can get the prerequisite in the dialog. Here is the file structure.

Windows Desktop Search
�br/> │�product.xml
│�windowsdesktopsearch-kb917013-v301-srv2k3-x86-enu.exe
│�
└─en
│  �eula.txt
└──package.xml


Let me know if this helps.

Thanks,
Rong-Chun Zhang
MSDN Subscriber Support in Forum
If you have any feedback on our support, please contact msdnmg@microsoft.com

Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Rong-Chun Zhang  Friday, September 18, 2009 10:18 AM
Hi, yes, my structure looks like this:

C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\PrevHost
|
| product.xml
| windowssearch-kb940157-xp-x86-enu.exe
|
|__en
| package.xml

My package.xml looks like this:

<?xml version="1.0" encoding="utf-8"?>
<Package Name="DisplayName" Culture="Culture" xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper">
  <Strings>
    <String Name="Culture">en</String>
    <String Name="DisplayName">Windows Search 4</String>
    <String Name="Anunexpectedexitcodewasr">An unexpected exit code was returned from the installer. The installation failed.</String>
  </Strings>
</Package>

Thanks,

Tim
TimHaughton  Friday, September 18, 2009 10:57 AM
Hello Tim,

It's very odd. As the following article also specified, please if the path has been changed in the registry.

http://msdn.microsoft.com/en-us/magazine/cc163899.aspx

For Visual Studio 2005
HKLM\Software\Microsoft\GenericBootstrapper\1.0\Path

For Visual Studio 2008
HKLM\Software\Microsoft\GenericBootstrapper\3.5\Path

By the way, to isolate the issue, please also with it on another machine to see if it works.

Thanks,
Rong-Chun Zhang
MSDN Subscriber Support in Forum
If you have any feedback on our support, please contact msdnmg@microsoft.com
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Rong-Chun Zhang  Friday, September 18, 2009 11:22 AM
I checked the registry on my desktop (x64) but that key was missing! I'm guessing that BMG must have deleted it during one of its crashes. I looked on my laptop (x86), and indeed the key was there:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GenericBootstrapper]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GenericBootstrapper\3.5]
"Path"="c:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\Bootstrapper\\"

I imported the key in to my desktop's registry, changing the path:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GenericBootstrapper]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GenericBootstrapper\3.5]
"Path"="c:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v6.0A\\Bootstrapper\\"

But it had no effect.

I also copied the 'PrevHost' folder on to my laptop to see if it worked there, it didn't.

Both machines are Win7 RTM, one x86, one x64, both running VS2008 SP1.

I can send you the whole folder to see if you can replicate the failure.

Tim
TimHaughton  Friday, September 18, 2009 11:47 AM
Hello Tim

For x64 OS, the key is under the following registry entity due to the redirection.

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\GenericBootstrapper\3.5

You can send me the folder to my mail box (v-rzhang[at]microsoft.com). I will try to reproduce the issue and keep you updated.

Thanks,
Rong-Chun Zhang
MSDN Subscriber Support in Forum
If you have any feedback on our support, please contact msdnmg@microsoft.com
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Rong-Chun Zhang  Friday, September 18, 2009 12:00 PM
Emailed.

Tim
TimHaughton  Friday, September 18, 2009 1:03 PM

Hello Tim,

I emailled to you.

For other members

It seems there is a typo in your product.xml file. In your file, you use:

<RegistryCheck Property="WordVersion Key="HKCR\Word.Application" Value="CurVer" />

It needs to be changed to

<RegistryCheck Property="WordVersion�Key="HKCR\Word.Application" Value="CurVer" />

Let me know if it helps.

Thanks,
Rong-Chun Zhang
MSDN Subscriber Support in Forum
If you have any feedback on our support, please contact msdnmg@microsoft.com


Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Rong-Chun Zhang  Monday, September 21, 2009 11:13 AM
I also had "Equals" instead of "ValueEqualTo". Now seems to work fine. Here's the final thing:

<?xml version="1.0" encoding="utf-8"?>
<Product ProductCode="Microsoft.Windows.Search.4" xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper">
  <PackageFiles CopyAllPackageFiles="false">
    <PackageFile Name="windowssearch-kb940157-xp-x86-enu.exe" HomeSite="http://download.microsoft.com/download/A/5/6/A56B2342-8EBE-46FF-85F7-D9A9CA887BFA/WindowsSearch-KB940157-XP-x86-enu.exe" PublicKey="3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD9706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E3958977609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001" />
  </PackageFiles>
  <InstallChecks>
    <RegistryCheck Property="WDSVersion" Key="HKLM\SOFTWARE\Microsoft\Windows Desktop Search" Value="Version" />
    <RegistryCheck Property="WordVersion" Key="HKCR\Word.Application" Value="CurVer" />
    <RegistryCheck Property="ExcelVersion" Key="HKCR\Excel.Application" Value="CurVer" />
    <RegistryCheck Property="OutlookVersion" Key="HKCR\Outlook.Application" Value="CurVer" />
  </InstallChecks>
  <Commands>
    <Command PackageFile="windowssearch-kb940157-xp-x86-enu.exe" Arguments='/quiet /norestart'>
      <InstallConditions>
        <BypassIf Property="WDSVersion" Compare="VersionGreaterThanOrEqualTo" Value="4.00.0000.0000"/>
        <BypassIf Property="WordVersion" Compare="ValueEqualTo" Value="Word.Application.12"/>
        <BypassIf Property="ExcelVersion" Compare="ValueEqualTo" Value="Excel.Application.12"/>
        <BypassIf Property="OutlookVersion" Compare="ValueEqualTo" Value="Outlook.Application.12"/>
        <BypassIf Property="WordVersion" Compare="ValueEqualTo" Value="Word.Application.14"/>
        <BypassIf Property="ExcelVersion" Compare="ValueEqualTo" Value="Excel.Application.14"/>
        <BypassIf Property="OutlookVersion" Compare="ValueEqualTo" Value="Outlook.Application.14"/>
      </InstallConditions>
      <ExitCodes>
        <DefaultExitCode Result="Success" String="Anunexpectedexitcodewasr" FormatMessageFromSystem="true" />
      </ExitCodes>
    </Command>
  </Commands>
</Product>


TimHaughton  Tuesday, September 22, 2009 9:38 AM

You can use google to search for other answers

Custom Search

More Threads

• How to update a deployed C# Windows Application VS2005
• Deployment / Setup projects in multilanguages
• Can ClickOnce deploy resource directories and update files inside them ?
• Questions regarding "Deployment projects"?
• Why can't I use the dialog form in the uninstall phase in the setup project on Vista
• disabling dialogs or controls at runtime
• To create a new deployment project
• Admin rights on the server to publish with Clickonce ?
• Condition and Custom Action Problem with uninstall
• Windows Error while running under ClickOnce - runs fine as stand alone app