November C# setup fails and rolls back install

Topics: CAB & Smart Client Software Factory
Nov 18, 2005 at 2:14 AM
originally posted by: ericjonker

Thats right. The November release for C# setup fails and rolls back installation.
About at the end of installation the following messages are displayed.

"An unexpected error occurred generating the Visual Studio Solution files. You may have to manually create solution files for the projects you have installed."
Thats fine with me, but then the following message is displayed.
"There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor."

When I click OK all files are removed.

Why, in the first place, does Microsoft, etc have this habit of distributing source code with MSI?????
Nov 18, 2005 at 12:09 PM
originally posted by: MarcelKuiper

In the "General" topics of this forum, Ray posted the same issue on Nov. 14th. I have the same problem installing CAB. Ray wrote it is due to a Dutch version of Windows, and he has a workaround. Unforunately he did not write exactly how he worked around. So I have mailed him, asking how he managed to install it. As soon as I have his answer, I will let you know here.

Marcel
Nov 18, 2005 at 2:09 PM
originally posted by: BradWilsonMSFT

I don't know what's causing the rollback problem, but I would like the answer a question about the use of MSIs.

I presume your question of using MSI is to say you'd prefer distribution in a non-executable format, like with a ZIP file. There are a number of reasons we use MSI, including:

- Installing only the features you want
- Performing execution of code during installs (f.e., integrated help with Visual Studio)
- So we can sign the MSI and you know that it really comes from us
Nov 21, 2005 at 11:53 AM
originally posted by: _Ray_

Brad,

The reason for the rollback is that the Solution Generator Custom action fails because you guys used single quotes as parameter seperation. In the dutch version of windows the programs folder in the start menu is called "programma's" (notice the ' there) which messes up the regex the solution generator uses to split the command line parameters. So you are trying to write to a non existing folder (C:\documents and settings\start menu\programma) exceptions gets thrown, windows installer gets unhappy and rollsback the whole thing...

if you guys would just have used double quotes the runtime would have figured out on its own which command line arguments go together and the whole funky regex woudn't be needed at all.

You guys are smart enough to come up with this great application block but are unable to parse some command line parameters properly?! Or actually the default behavior of the framework is fine, but you decided to do things differently and messed up. whats going on here?!!

Now the best thing would be is getting the installer fixed asap but in the mean time here's a work around for the ones that can't wait for that to happen.

1) Run the Msi , until the point of the error but do not click the error away
2) now in c:\windows\installer there should be a .tmp file of about 16k (sort on date time to be sure you get the right one) copy this to another folder and rename it SolutionGenerator.exe, you will need this later.
3) Click ok on the error and windows installer rolls back the package.
4) Open up the msi with orca (it's in the windows platform sdk)
5) Remove the SolutionGeneratorInstall and SolutionGeneratorUninstall custom actions
5) close orca again and run the installer once more.
6) the package should now install fine buy you will miss some shortcuts and solution files.
7) create a folder in the root of C called TmpSolution
8) run SolutionGenerator.exe /i 'C:\Program Files\Microsoft Composite UI App Block\CSharp\' 'C:\TmpSolution\'
9) Copy the created .lnk files to your start menu and the .sln files to your installation folder.
10) sit back relax and have a beer.

Disclamer: My dutch box is at work so I can't verify the step plan but I'm pretty sure it's ok (although I coudn't do step 10 at work)
Nov 21, 2005 at 1:23 PM
originally posted by: MarcelKuiper

Ray, that works for me. Thanks a lot.
About step 10 of your solution: I owe you one or two.

Marcel
Nov 21, 2005 at 11:26 PM
originally posted by: BradWilsonMSFT

Ray, the choice to use ' was unfortunate, I admit. We should've used an illegal character.

We did originally attempt to use " but there were issues with the MSI attempting to re-parse the command line arguments and not passing them correctly.
Nov 24, 2005 at 3:21 PM
originally posted by: _Ray_

So any schedule on when this will be adressed? it's kinda hard to sell to my collegues hey take a look at this really cool application block, oh yeah uhh you need to hack the installer else it won't run on your version of windows..

they seem to lose confidence thats it's really any good..

and thats just a shame, this is by far my favorite appblock
Nov 24, 2005 at 6:07 PM
originally posted by: BradWilsonMSFT

This will be fixed in the final MSIs, when the VB.net version is finished.
Nov 26, 2005 at 1:35 AM
originally posted by: Napalm1981

oh the pain, however you guys aren't the first to make a misstake and all the guys that are complaining.. its not like you've never made a misstake, such is life and stop complaining.

thanks for the work on the UI Block, very cool
Nov 26, 2005 at 9:13 AM
originally posted by: BradWilsonMSFT

This should be fixed for the VB.NET CTP that we released on Wednesday, so I'd be interested in hearing if installing the VB.NET version works better for our Dutch friends. :)

Thanks!
Nov 26, 2005 at 3:22 PM
originally posted by: _Ray_

The VB.NET CTP installer runs flawlessly, good job!
Nov 29, 2005 at 12:00 AM
originally posted by: Napalm1981

I'm not dutch, however i'm getting the same problem as above. I'm South Africa, speaking english. if i delete the two lines from the MSI the setup completes, however for the life of me i cant get hold of the .tmp file that is used in the second half of the work around. I've looked in the event log and whatever file throws the error never appears in the parth that its supposed to be in, any suggestions besides wait till next week???? Oh another thing, the VB.net virgin also gives the same prob
Jan 5, 2006 at 9:08 PM
originally posted by: RobertMagnusson

NB: This comment relates to the December 2005 Release

I get the error still when attempting to install the CAB on Windows XP in Australia. I have gone through the kludge of using orca to modify the MSI but never find the tmp file mentioned in a previous post. After removing the two entries relating to the customer install actions concerning SolutionExplorer.exe the MSI successfully installed. However, I could not run SolutionExplorer.exe successfully after extracting it from the MSI, so I'm not sure of the shortcuts and solution files that I may be missing.

Can anyone help?

When will this issue be fixed?
Jan 5, 2006 at 9:38 PM
originally posted by: _Ray_

You should be able to extract SolutionGenerator.exe from the msi (it's located in the binary table) After that look at the custom actions (that you just deleted gheh.. sorry) for the exact parameters and parameter seperation char that is used now.

Or just install is on a different box that does install and copy over the generated files manually.
Jan 5, 2006 at 10:05 PM
originally posted by: RobertMagnusson

Thanks for your help, I noticed that there were * characters around the folder names in the MSI (measure twice cut once - I kept a backup).

Unfortunately, I still can't get the SolutionGenerator to give me anything other than the same error message. I have attempted the following:

SolutionGenerator.exe /i C:\Program Files\Microsoft Composite UI App Block\VB\C:\TmpSolution\
SolutionGenerator.exe /i "C:\Program Files\Microsoft Composite UI App Block\VB\""C:\TmpSolution\"
SolutionGenerator.exe /i C:\Program Files\Microsoft Composite UI App Block\VBC:\TmpSolution
SolutionGenerator.exe /i "C:\Program Files\Microsoft Composite UI App Block\VB\" "C:\TmpSolution\"
SolutionGenerator.exe /i C:\Progra~1\MI6521~1\VB\C:\TmpSolution\
SolutionGenerator.exe /i C:\Progra~1\MI6521~1\VB\C:\TmpSol~1\

and none of them work.
Jan 6, 2006 at 8:15 AM
originally posted by: BradWilsonMSFT

We fixed this in the December release. Please use that.
Jan 7, 2006 at 12:52 AM
originally posted by: RobertMagnusson

Brad,

Unfortunately, I was using the December release. In fact I downloaded both the C# and VB versions twice and, each time, still received the same error. It is interesting, however, that I can install it at home correctly. Maybe it had something to do with the number of versions of various .Net flavours have been installed/uninstalled on that machine.

Anyway, I got it to work well enough at work with the kludge, and could run it successfully at home so I'm set.

Thanks for the help guys...