How to detect if "Microsoft Windows Journal Viewer" is alreadyinstalled?

A

Alain B

I am setting "Microsoft Windows Journal Viewer" as a prerequisite as
my application use it in a tablet PC to show reports.

I can't figure out how to have a Property set correctly to see if
"Microsoft Windows Journal Viewer" is installed on the system. I
didn't find online anything specifically for this package and the key
location do not match the package examples found online so I try so
many ways and all failed, so far, to have the Property set, causing
the VS application while running ClickOnce to re-install "Microsoft
Windows Journal Viewer".
Here are only three of my many tries, in case there is something easy
to spot, showing only the two nodes InstallChecks and
InstallConditions setting:

<InstallChecks>
<MsiProductCheck Property="IsMSIInstalled"
Product="{43DCF766-6838-4F9A-8C91-D92DA586DFA8}"/>
</InstallChecks>
<InstallConditions>
<BypassIf Property="IsMSIInstalled" Compare="ValueGreaterThan"
Value="1"/>
</InstallConditions>


What my result was: Skipping ByPassIf because Property
'IsMSIInstalled' was not defined regardless if I have Journal Viewer
installed or not.


When trying this way:
<InstallChecks>
<RegistryCheck Property="ModifyPath" Value="MsiExec.exe /
X{43DCF766-6838-4F9A-8C91-D92DA586DFA8}"/>
</InstallChecks>
<InstallConditions>
BypassIf Property="ModifyPath" Compare="ValueExists"/>
</InstallConditions>


What my result was: Result of running operator 'ValueExists' on
property 'ModifyPath': false regardless if I have Journal Viewer
installed or not.


When trying this way:
<InstallChecks>
<RegistryCheck Property="DefaultFeature"
Key="667FCD348386A9F4C8199DD25A68FD8A" Value="DefaultFeature"/>
</InstallChecks>
<InstallConditions>
BypassIf Property="DefaultFeature" Compare="ValueExists"/>
</InstallConditions>


What my result was: Result of running operator 'ValueExists' on
property 'DefaultFeature': false regardless if I have Journal Viewer
installed or not.


The keys for that products when installed is:
HKEY_CLASSES_ROOT\Installer\Features\667FCD348386A9F4C8199DD25A68FD8A


I have no idea what am I missing and why I can't get any feedback
about if this product is installed or not. I am also not sure if I
need to use an external check program and how to build it. Thank you
for any help, as I search the WEB and try all I could try without
success.
 
K

kimiraikkonen

I am setting "Microsoft Windows Journal Viewer" as a prerequisite as
my application use it in a tablet PC to show reports.

I can't figure out how to have a Property set correctly to see if
"Microsoft Windows Journal Viewer" is installed on the system. I
didn't find online anything specifically for this package and the key
location do not match the package examples found online so I try so
many ways and all failed, so far, to have the Property set, causing
the VS application while running ClickOnce to re-install "Microsoft
Windows Journal Viewer".
Here are only three of my many tries, in case there is something easy
to spot, showing only the two nodes InstallChecks and
InstallConditions setting:

<InstallChecks>
<MsiProductCheck Property="IsMSIInstalled"
Product="{43DCF766-6838-4F9A-8C91-D92DA586DFA8}"/>
</InstallChecks>
<InstallConditions>
<BypassIf Property="IsMSIInstalled" Compare="ValueGreaterThan"
Value="1"/>
</InstallConditions>

What my result was: Skipping ByPassIf because Property
'IsMSIInstalled' was not defined regardless if I have Journal Viewer
installed or not.

When trying this way:
<InstallChecks>
<RegistryCheck Property="ModifyPath" Value="MsiExec.exe /
X{43DCF766-6838-4F9A-8C91-D92DA586DFA8}"/>
</InstallChecks>
<InstallConditions>
BypassIf Property="ModifyPath" Compare="ValueExists"/>
</InstallConditions>

What my result was: Result of running operator 'ValueExists' on
property 'ModifyPath': false regardless if I have Journal Viewer
installed or not.

When trying this way:
<InstallChecks>
<RegistryCheck Property="DefaultFeature"
Key="667FCD348386A9F4C8199DD25A68FD8A" Value="DefaultFeature"/>
</InstallChecks>
<InstallConditions>
BypassIf Property="DefaultFeature" Compare="ValueExists"/>
</InstallConditions>

What my result was: Result of running operator 'ValueExists' on
property 'DefaultFeature': false regardless if I have Journal Viewer
installed or not.

The keys for that products when installed is:
HKEY_CLASSES_ROOT\Installer\Features\667FCD348386A9F4C8199DD25A68FD8A

I have no idea what am I missing and why I can't get any feedback
about if this product is installed or not. I am also not sure if I
need to use an external check program and how to build it. Thank you
for any help, as I search the WEB and try all I could try without
success.

Is that problem listed in add/remove programs?
If yes, a theory may be useful for you:
Locate the correct registry entry for Microsoft Journal Viewer (maybe
a CLSID or GUID key)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
\Uninstall]

Then query its existence using "My.My.Computer.Registry.GetValue".

Hope this helps.
 
K

kimiraikkonen

I am setting "Microsoft Windows Journal Viewer" as a prerequisite as
my application use it in a tablet PC to show reports.
I can't figure out how to have a Property set correctly to see if
"Microsoft Windows Journal Viewer" is installed on the system. I
didn't find online anything specifically for this package and the key
location do not match the package examples found online so I try so
many ways and all failed, so far, to have the Property set, causing
the VS application while running ClickOnce to re-install "Microsoft
Windows Journal Viewer".
Here are only three of my many tries, in case there is something easy
to spot, showing only the two nodes InstallChecks and
InstallConditions setting:
<InstallChecks>
<MsiProductCheck Property="IsMSIInstalled"
Product="{43DCF766-6838-4F9A-8C91-D92DA586DFA8}"/>
</InstallChecks>
<InstallConditions>
<BypassIf Property="IsMSIInstalled" Compare="ValueGreaterThan"
Value="1"/>
</InstallConditions>
What my result was: Skipping ByPassIf because Property
'IsMSIInstalled' was not defined regardless if I have Journal Viewer
installed or not.
When trying this way:
<InstallChecks>
<RegistryCheck Property="ModifyPath" Value="MsiExec.exe /
X{43DCF766-6838-4F9A-8C91-D92DA586DFA8}"/>
</InstallChecks>
<InstallConditions>
BypassIf Property="ModifyPath" Compare="ValueExists"/>
</InstallConditions>
What my result was: Result of running operator 'ValueExists' on
property 'ModifyPath': false regardless if I have Journal Viewer
installed or not.
When trying this way:
<InstallChecks>
<RegistryCheck Property="DefaultFeature"
Key="667FCD348386A9F4C8199DD25A68FD8A" Value="DefaultFeature"/>
</InstallChecks>
<InstallConditions>
BypassIf Property="DefaultFeature" Compare="ValueExists"/>
</InstallConditions>
What my result was: Result of running operator 'ValueExists' on
property 'DefaultFeature': false regardless if I have Journal Viewer
installed or not.
The keys for that products when installed is:
HKEY_CLASSES_ROOT\Installer\Features\667FCD348386A9F4C8199DD25A68FD8A
I have no idea what am I missing and why I can't get any feedback
about if this product is installed or not. I am also not sure if I
need to use an external check program and how to build it. Thank you
for any help, as I search the WEB and try all I could try without
success.

Is that problem listed in add/remove programs?
If yes, a theory may be useful for you:
Locate the correct registry entry for Microsoft Journal Viewer (maybe
a CLSID or GUID key)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
\Uninstall]

Then query its existence using "My.My.Computer.Registry.GetValue".

Hope this helps.

I meant "is that "program" listed in add/remove programs?". Sorry for
mistype.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top