Video Screencast Help
Endpoint Management Community Blog

Troubleshooting Unnecessary Repairs

Created: 08 Aug 2008 • Updated: 08 Aug 2008 • 16 comments
piyushnasa's picture
+1 1 Vote
Login to vote

Sometimes you may encounter the problem of unnecessary repairs of MSI while launching the shortcut in the same logged in user. Here is the way to troubleshoot this problem.

You can go to eventviewr (by typing eventvwr in Run command) then to applications and check the latest error message after repair. It will tell you which component is missing and because of which MSI went for self heal.

You can now check out this component in your package and see what the problem is. Maybe your keypath is a moving target for that component.

Comments 16 CommentsJump to latest comment

R-Vijay's picture

This will not work always..
Sometimes, when the product is repairing..you will get the parent features component id. Eg: machine or user. We can also do it by generating a log file and identifying the component.

Microsoft MVP [Setup-Deploy]
Weblog: www.msigeek.com

-1
Login to vote
piyushnasa's picture

Since, I and many other here will agree that this will work MOST of the time, I recommend you not to give titles like "this will not work". If you have some other solution to add to, you are most welcome to do that.
Thanks.

Piyush Nasa Altiris Certified Professional (ACP)

http://msiworld.blogspot.com/

+1
Login to vote
R-Vijay's picture

Well Piyush,

NO offenses meant!!
Actually I was writing that, "this will not work always". I guess the automatic title catch has missed my last word.

To be quiet frank. I would still say that, this will not work always; because the errors which you find in eventviewer is only from the actions which send a "writelog" entry.

In our MSIs, many a times, this is not done and hence the base component's name is displayed. I and my team have faced this a lot of times., and we have to use the other avaialable methods to troubleshoot this.

My intention for giving this comment here is to get more troubleshooting techniques from other users.

Do get back to me, if you still need more clarifications.

Cheers'
Vijay

Microsoft MVP [Setup-Deploy]
Weblog: www.msigeek.com

-5
Login to vote
Harsh Mokal's picture

Yesterday I was watching I robot on Film4, where del spooner (Will smith) was trying to catch robot. He enter into robot factory of many look a like robos ..huge matrix of robo (like our MSI database). He wanted to find the target. So he just shoot one of Robo, and then target Robo made little movement.
& that helps smith to locate target robo. He tried to catch him but he was not succed, after endless effort he did. Fanatstic movie.

I forgot..OOps we need to talk about Auto repair trouble shooting here.Else juice will trow me out discusinng movie stuff :)

Guess Eventviewer is just one method to find..(like smith who shoot one robo) It wont be helpful always. There are plenty other things. MSI is database with so many records. I agree with Mr. Yukon..I guess unnecessary repairs shd be track with Logs/event viewers/Gap capture(I guess Vijay already have one article for Gap Capture, I m not agree with Name or term Gap capture but its ok as far its proven method to troubleshoot).

Regards
Harsh

-1
Login to vote
R-Vijay's picture

H ha haaa..I get that Harsh !!!
I just changed my loginname as Yukon., So Yukon = Vijay :-)
I remember, we had a lot of discussion on the name "Gap Capture". h eheeh.... However, until it solves our purpose lets go with that name itself.. ;)

Well jokes apart, Un-necesary repairs also happens when you have a userdata file(Eg .mdb or a .lic file) which is getting modified on every user launch.

Cheers'
Vijay

Microsoft MVP [Setup-Deploy]
Weblog: www.msigeek.com

+1
Login to vote
piyushnasa's picture

Hi Vijay,

Well if you read my post carefully you will find that I have clearly mentioned that if the repair is happening for the same logged in user again and again. So the point of .mdb or .lic which you have mentioned getting change for every user launch does not hold good here.
I totally agree that there would be n number of methods of troubleshooting this problem. I have just mentioned here once.. This is a tech tip and not an article I have published here which will describe all the ways.
As I said before, you are welcome to add on details in here. I appreciate of you on being this portal for a long time and guiding the new people, but I really felt that your replies to the post discourage people to write more rather than inspiring them.
We all are trying to get knowledge concentrated to this one forum to help the people out here. We may not bring out information as perfect as you are doing, but atleast we are.
It is not like I am being offensive here but just requesting you that rather than discouraging, help us in guiding and contributing your immense knowledge.
Thanks.

Piyush Nasa Altiris Certified Professional (ACP)

http://msiworld.blogspot.com/

+1
Login to vote
R-Vijay's picture

[quote=piyushnasa]Hi Vijay,

Well if you read my post carefully you will find that I have clearly mentioned that if the repair is happening for the same logged in user again and again. So the point of .mdb or .lic which you have mentioned getting change for every user launch does not hold good here.
I totally agree that there would be n number of methods of troubleshooting this problem. I have just mentioned here once.. This is a tech tip and not an article I have published here which will describe all the ways.
As I said before, you are welcome to add on details in here. I appreciate of you on being this portal for a long time and guiding the new people, but I really felt that your replies to the post discourage people to write more rather than inspiring them.
We all are trying to get knowledge concentrated to this one forum to help the people out here. We may not bring out information as perfect as you are doing, but atleast we are.
It is not like I am being offensive here but just requesting you that rather than discouraging, help us in guiding and contributing your immense knowledge.
Thanks.[/quote]

I am really sorry if I have meant so. Actually, my intention was to make it clear that, this will not work always. I had never discouraged people on writing here., infact i hav always taken this platform to groom people to write more. I would say, Harsh is a right person to pitch in here. We both have had similar sort of conversations before... (I would say fights in many cases he hee..) Alas, we all want to learn.

I do agree that, I had missed the last word in the title (it will not work "Always"). I had wrote this just to get in more comments/troubleshooting tips from other fellow members. Hope this clarifies..and sorry again if i have hurted you in this regard.

Also, I was mentioning about the lic and mdb file in a single user itself. As the file gets modified after every launch. it can cause a repair if its a keypath. That is why, we never give it as a Keypath.

Cheers'
Vijay

Microsoft MVP [Setup-Deploy]
Weblog: www.msigeek.com

+1
Login to vote
piyushnasa's picture

Thanks Vijay, No hard feelings. :)
It would be great if you can always come forward and give your valuable inputs to all. from your profile and posts, I am really impressed about your knowledge and really appreciate your contributions on the forum.

Piyush Nasa Altiris Certified Professional (ACP)

http://msiworld.blogspot.com/

+1
Login to vote
R-Vijay's picture

Coool Dude !!!
We will always do that :-) Alas, we all are here to share knowledge., and It would be great if we can have such "hot" discussions for our betterment.. ;) he heeee..!!!

Cheers'
Vijay

Microsoft MVP [Setup-Deploy]
Weblog: www.msigeek.com

+5
Login to vote
AngelD's picture

[quote=Yukon]This will not work always..
Sometimes, when the product is repairing..you will get the parent features component id. Eg: machine or user. We can also do it by generating a log file and identifying the component.
[/quote]

The Event Viewer will show which entrypoint that triggered the resiliency check and another for the broken component. So by "you will get the parent features component id" I'm sure you are seeing the event ID 1001 (entrypoint), event ID 1004 would be the broken component that triggered the repair.

-5
Login to vote
setral's picture

It's a good start for tracking down the actual cause of the issue in your MSI that you've built.

I had a very simple issue where the Shortcut wasn't being created and was causing the repair to happen. The Eventviewer thankfully showed the error with the shortcut, adding it manually resolved the issue and the package works great.

+1
Login to vote
nac's picture

Yes you come to know which component is missing or is not being accessed because of permission issue or any other reason?
But does it work always ?

Can File Associations be the another reason for MSI repair ?

Also what about improper packaging like resource missing in MSI itself ?

How would you track this?

+2
Login to vote
mailhareesh's picture

I dont think that missing resource in MSI will throw repair, it may throw error during installation if there is any resource is found to be missing.

File Associations:
I hope this will result - in - not able to open file of that particular app and will throw the "Open With" dialog..however never came across the repair dialog in this context.. and you can see the default windows image if the file association is missing

+3
Login to vote
R-Vijay's picture

When the resources are missed due to improper packaging, you will get an error right away when you compile your package.

Also, File associations can never throw package repair.

The best example would be, consider you have openoffice.org and MS Office installed in the same machine. the extention ".doc" will be associated for both these applications (though the default would be either one). Also, association is handled in HKCR, whereas package repair happens only when there is some redundant entries in HKCU.

Cheers'
Vijay

Microsoft MVP [Setup-Deploy]
Weblog: www.msigeek.com

-1
Login to vote
piyushnasa's picture

Hi Vijay,

File Associations can trigger a repair only when some other resource is missing as they are part of advertisemnt. If the package is install on demand and the file assciations are installed, then in that case it will go for reinstallation, which is just like a repair.
I hope you will agree on this.

Piyush Nasa Altiris Certified Professional (ACP)

http://msiworld.blogspot.com/

+1
Login to vote
R-Vijay's picture

When there are different shortcuts of the package in various features.
Best example would be Vendor MSI, where there are multiple features and there could be shortcuts residing in these difference features.
On launch of these every shortcut, the package may go for a repair.
In this case, we will need to compress the features and deploy the package.

Cheers'
Vijay

Microsoft MVP [Setup-Deploy]
Weblog: www.msigeek.com

+3
Login to vote