This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- MSP patching issues.
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 21, 2012
07:19 PM
MSP patching issues.
I am trying to create an msp patch using IS 2011. I can successfully create them, but I'm havign two minot issues I can't seem to resolve. The core MSI is using the new UI-style.
Also, I am not generating any type of setup launcher. This is a minor update, and in my test patch, and only updating 1 file of many.
Anyway, here are the issues:
1) The patch is uninstallable. In my patch configuration, under the Common tab, I have "Allow Patch to be Uninstalled" checked. Also, in the Advanced tab, I have "Msi engine Version\Schema" set to "Version 3.1 (requires Windows 2000 SP3 or greater)".
But when I right click on the patch, this is in a Win Server 2008 R2 system, nothing comes up. i have to go into the registry to manually change the "unisntallable" flag from a 0 to a 1.
2) I want the information that appear in the DisplayName for the patch to be configurable dynamically at build time. I can manually set it in the Identification tab of my build configuration, but I'd like to be able to use a combination of hard-coded text and values that I can set at will. I have tried an enviornment variable like %TEST_VAL% in the "Display name:" textbox, but it didn't work, and I tried specifcying a [ProductName] property. That would look silly if it worked, but it didn't. When looking at the patch in ARP, I saw (litereally) %TEST_VAL% or "[ProductName]". Is there a way to parameterize what shows up in the display name for the patch?
3) Third question is general question for those with experience with the Win32 API. I am trying to use MsiGetPatchInfo to query information about the patch prorgrammatically. I can obtain the patch code successfully, but when using the aforementioned API call, the only property I can query with any success is "LocalPackage". I would like to be able to query information llke the DisplayName, which is what I'm really trying to do.
The information I want is in HKLM\SOFTWARE\Microsoft\Windows\CurentVersion\Installer\UserData\S-1-5-18\Products\\Patches\. This has value for display name, etc.
The "LocalPackage", which seems to be the only property I can query with the API call, is in HKLM\SOFTWARE\Microsoft\Windows\CurentVersion\Installer\UserData\S-1-5-18\Patches\. On my system, there are a large number of other patches, each of which only has the LocalPackage.
Isn't the API a bit underwhelming if the only thin I can query with it is the "LocalPackage" property? Is there anything I am doing wrong?
4) I am also getting a fatal error during uninstallation which I haven't started to debug yet.
-Bryan
Also, I am not generating any type of setup launcher. This is a minor update, and in my test patch, and only updating 1 file of many.
Anyway, here are the issues:
1) The patch is uninstallable. In my patch configuration, under the Common tab, I have "Allow Patch to be Uninstalled" checked. Also, in the Advanced tab, I have "Msi engine Version\Schema" set to "Version 3.1 (requires Windows 2000 SP3 or greater)".
But when I right click on the patch, this is in a Win Server 2008 R2 system, nothing comes up. i have to go into the registry to manually change the "unisntallable" flag from a 0 to a 1.
2) I want the information that appear in the DisplayName for the patch to be configurable dynamically at build time. I can manually set it in the Identification tab of my build configuration, but I'd like to be able to use a combination of hard-coded text and values that I can set at will. I have tried an enviornment variable like %TEST_VAL% in the "Display name:" textbox, but it didn't work, and I tried specifcying a [ProductName] property. That would look silly if it worked, but it didn't. When looking at the patch in ARP, I saw (litereally) %TEST_VAL% or "[ProductName]". Is there a way to parameterize what shows up in the display name for the patch?
3) Third question is general question for those with experience with the Win32 API. I am trying to use MsiGetPatchInfo to query information about the patch prorgrammatically. I can obtain the patch code successfully, but when using the aforementioned API call, the only property I can query with any success is "LocalPackage". I would like to be able to query information llke the DisplayName, which is what I'm really trying to do.
The information I want is in HKLM\SOFTWARE\Microsoft\Windows\CurentVersion\Installer\UserData\S-1-5-18\Products\
The "LocalPackage", which seems to be the only property I can query with the API call, is in HKLM\SOFTWARE\Microsoft\Windows\CurentVersion\Installer\UserData\S-1-5-18\Patches\
Isn't the API a bit underwhelming if the only thin I can query with it is the "LocalPackage" property? Is there anything I am doing wrong?
4) I am also getting a fatal error during uninstallation which I haven't started to debug yet.
-Bryan
(2) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 21, 2012
07:27 PM
I figured out the unisntallation issue. So that can be dis-regarded.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 22, 2012
12:22 PM
Webfreek wrote:
I figured out the unisntallation issue. So that can be dis-regarded.
I also figured out my issue(s) with getting the DisplayName I needed to use the GetPatchInfoEx(...) API, and that did it for me.
I still haven't figured out the other issues yet.
![](/skins/images/D60DF682EA37BF37032955CE10F3F0BB/responsive_peak/images/icon_anonymous_message.png)