Quick question about MSI GUID
Hi all,
Here is a quick question. Is the MSI GUID used in any way, outside the msi installer itself? Is it a standard or is it possible for any other application to use, look or fetch anything regarding the original MSI GUID of a specific app?
If I "HAVE" to change the original GUID of ActiveSync 4.5 for any reason (hypothetical example), can that hurt any other app?
Thanks,
Here is a quick question. Is the MSI GUID used in any way, outside the msi installer itself? Is it a standard or is it possible for any other application to use, look or fetch anything regarding the original MSI GUID of a specific app?
If I "HAVE" to change the original GUID of ActiveSync 4.5 for any reason (hypothetical example), can that hurt any other app?
Thanks,
0 Comments
[ + ] Show comments
Answers (4)
Please log in to answer
Posted by:
michaelnowell
15 years ago
Which GUID are you changing within the MSI? There are 3 main GUID's within an MSI that are cause for concern, the ProductCode, UpgradeCode and PackageCode. I'm assuming that it's the ProductCode that you are thinking of changing ?
The ProductCode and PackageCode must both be unique to any other application. If they are the same as another application, then you may come across problems down the road as both applications will think that they are the same. E.g. You won't be able to install both applications as one will think that it's already installed. You will probably just need to only change the ProductCode.
The UpgradeCode is used only when it comes to upgrades (funny eh, given it's name), this is referenced by other MSI's, when they want to remove the application is question.
It's highly unsual that you will run into a problem down the road if you change the ProductCode/PackageCode.
The scenario that you may come across would be if you needto patch or upgrade to a newer version of the app (only with a minor upgrade, keeping a similar version number e.g. 7.1 to 7.2).
After all that I should just point out that the general rule of thumb is that you should never modify a vendor MSI.
If you have any mroe questions, just ask.
The ProductCode and PackageCode must both be unique to any other application. If they are the same as another application, then you may come across problems down the road as both applications will think that they are the same. E.g. You won't be able to install both applications as one will think that it's already installed. You will probably just need to only change the ProductCode.
The UpgradeCode is used only when it comes to upgrades (funny eh, given it's name), this is referenced by other MSI's, when they want to remove the application is question.
It's highly unsual that you will run into a problem down the road if you change the ProductCode/PackageCode.
The scenario that you may come across would be if you needto patch or upgrade to a newer version of the app (only with a minor upgrade, keeping a similar version number e.g. 7.1 to 7.2).
After all that I should just point out that the general rule of thumb is that you should never modify a vendor MSI.
If you have any mroe questions, just ask.
Posted by:
jmcfadyen
15 years ago
you can edit the msi and repository using the API. But this particular example would be a very stupid thing to do. I would highly recommend against it as it is asking for trouble.
In saying that and answering your question can it be done. Yes it can. Should it be done the answer to that is rather obvious. Will it hurt another application probably not.
In saying that and answering your question can it be done. Yes it can. Should it be done the answer to that is rather obvious. Will it hurt another application probably not.
Posted by:
unreal2me
15 years ago
Thanks both for your input.
I am referring to the product code. The reason why I want to change the GUID is that for an unknown reason, our ActiveSync Package is defect. It is not installing the USB drivers at all. No matter how I try, I just cant patch or change the original package. I have to uninstall it then install the Vendor MSI.
Why I want to change the GUID is only if the uninstall of the previous is failing, when the new package installs (msiexec /i path/msi /qb) It will fail thinking it has to repair the previous one (which is still installed because of failure) and will be looking for the previous msi version in the new install location.
This happens to me once with a home package and I want to avoid this scenario to happen again.
Is my thinking right?
Thks
I am referring to the product code. The reason why I want to change the GUID is that for an unknown reason, our ActiveSync Package is defect. It is not installing the USB drivers at all. No matter how I try, I just cant patch or change the original package. I have to uninstall it then install the Vendor MSI.
Why I want to change the GUID is only if the uninstall of the previous is failing, when the new package installs (msiexec /i path/msi /qb) It will fail thinking it has to repair the previous one (which is still installed because of failure) and will be looking for the previous msi version in the new install location.
This happens to me once with a home package and I want to avoid this scenario to happen again.
Is my thinking right?
Thks
Posted by:
jcarri06
15 years ago
It sounds like you may have modified the vendor MSI rather than created an MST and it's broken. Now that you try to run the vendor MSI again, since your modified version has the same product code, it detects it installed already and thus your problem.
Rather than start changing GUIDs and potential further damage your environment, I would recommend you look at cleaning up your current setups instead. Just wrap your MSI into an "uninstall/reinstall" script to ensure everytime it's deployed, it removes the older bad version and that's it.
- J
Rather than start changing GUIDs and potential further damage your environment, I would recommend you look at cleaning up your current setups instead. Just wrap your MSI into an "uninstall/reinstall" script to ensure everytime it's deployed, it removes the older bad version and that's it.
- J
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.