Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Minor version upgrade - setup project using RC1
Xier
#1 Posted : Thursday, September 14, 2006 7:31:58 AM(UTC)
Groups: Member
Joined: 7/20/2006(UTC)
Posts: 7

Hi,

a few weeks ago I created a webpage to distribute on CD using RC1 as the local webserver.

I had to make some modifications to the source and need to press new CDs.

I ended up changing the version number of my code from 1.0.0 to 1.0.1 and assigning a new GUID.

When I try installing this new version over an exisitng copy the setup begins and runs through all the steps and finishes.

I force reboot the system and try clicking on the shortcut I made referencing the new GUID.

It brings up the installer again and even if i close the installer it runs in the background.

Also, when I go into cassini explorer the reference to the old GUID still remains and the new one is not found.

Is there a paticular method I need to follow when upgrading versions of my webpage? Or do I need to move over to Final release?

I prefer to use RC1 still, if possible, until the next major release.

Thanks,
LL

Ultidev Team
#2 Posted : Thursday, September 14, 2006 8:00:31 AM(UTC)
Ultidev Team

Groups: Administration
Joined: 11/3/2005(UTC)
Posts: 2,253

Thanks: 28 times
Was thanked: 60 time(s) in 59 post(s)
Hi, LL.

Please confirm that we understand the issue correctly:
1. You want to ship a new version of your product along with the same (RC1) version of the Cassini. Your question is whether you need to switch to the latest version of Cassini.
2. Application GUID in the Cassini Explorer stays the same even though you have changed the version.
3. Clicking the shortcut to your application launches an installer, instead of your program.

If points above are correct, here are some comments on what's going on.
1. You can continue using RC1 for a little while, that should not be a problem. Although we definitely recommend to switch to the GA release of Cassini when you can. It will involve changes to the Setup project of your solution, as distribution model of Cassini has changed after the RC1 version from merge module to Setup.exe prerequisites.

2. When you change version of the product in the Setup project the Product Code Guid gets changed too, while UpgradeCode stays the same to be used by the installer to identify which products belong to the same line in order for upgrade to work. If you use UpgradeCode (recommended approach) to register your application with Cassini, then what you in Cassini Explorer is exactly what's supposed to happen. However, if you used Product Code to register your app with Cassini, then upgrade installation of your product should have removed old product registration and add the new one. Refer to your application setup project's custom actions to see which Guid/Code you are using when registering your application with Cassini.

3. Installer launch from shortcut icon sometimes happens when either MSI Packages info in the Registry is incorrect, or if (our impression) when MS Installer is simply having a bad day. We noticed that creating a shortcut to project's Primary Output in the installer project sometimes leads to what you describe. However, if your application is not EXE but rather a browser-based as most of Cassini apps are, then you should create a shortcut to an HTML file that redirects to the actual application. Creating shortcuts to a file instead of Primary Output in the Setup project usually makes the problem you described go away. For information on how to add a setup project shortcut pointing to your Cassini application please refer to the Cassini Dev's Guide and do Edit | Find and search for "Programs menu shortcut".

Please let us know if this was helpful.

Best regards,
UltiDev Team.
Please donate at http://www.ultidev.com/products/Donate.aspx to help us improve our products.
Guest
#3 Posted : Thursday, September 14, 2006 9:17:04 AM(UTC)
Groups:
Joined: 11/1/2005(UTC)
Posts: 278

Hello again,

Point 2 sounds like what my error was. I neglected to change the custom actions. I went ahead and set the GUID to the new value for my application.

I went ahead and tried to install over my existing install again. Once again the install went through and the system was rebooted.

My shortcut is to an html file referencing the GoToApplication.aspx as in the Dev Guide.

When I clicked on the shortcut it started up the installer again. I get errors indicating the install is already running when I click on the shortcut.

1. Another instance of the installer is already running. It lets me continue with the new instance if I click ok.

2. Msg stating that SYSTEM is already running an instance of the Installer.

I cancel both of these. I go to check and see if the application was registered with the new GUID. In my original error, it was not.
I run Cassini Explorer but get generic host cannot be found in FireFox. I run Restart Cassini 2.0 Service.

I receive this:

C:\>"C:\Program Files\UltiDev\Cassini ASP.NET 2.0 Server\RestartCassiniService.bat"
The Cassini ASP.NET 2.0 Server service is not started.

More help is available by typing NET HELPMSG 3521.

The Cassini ASP.NET 2.0 Server service is starting......
The Cassini ASP.NET 2.0 Server service could not be started.

The service did not report an error.

More help is available by typing NET HELPMSG 3534.



It seems when I reboot the system, cassini has not even started up...

I have a feeling cassini not starting is also the reason when I click the shortcut the installer pops up.

If you have any insight, it would be wonderful.

Thanks,
LL
Ultidev Team
#4 Posted : Thursday, September 14, 2006 10:25:50 AM(UTC)
Ultidev Team

Groups: Administration
Joined: 11/3/2005(UTC)
Posts: 2,253

Thanks: 28 times
Was thanked: 60 time(s) in 59 post(s)
Hi, LL.

Item 2 is not actually an error - it's simply something that you have expected to be different, but in reality it could be just the way it was.

The real problem is 3: why MS Installer is attempting to install your product or Cassini all over again.

Cassini not starting may be either a cause, or a consequence of the installation issue. To see why Cassini won't start after your product upgrade, check Control Panel -> Administrative Tools -> Event Log -> Application to see if there are errors related to Cassini. One of the things we saw in the past is MS Setup project had troubles registering DLLs in GAC in upgrade scenario, although this seemed to be the problem only with .NET 1.1 setup projects, not 2.0. We saw problems with upgrading one version of Cassini to another with CAG-based Cassini 1.1 components kept the same version. We are now forced to increment those component versions for each release even if the component has not changed. Are you by chance registering some DLL in the .NET 1.1 GAC without bumping up the version number? Another thing we could recommend is to use MS Virtual Server to test your upgrade use cases on clean OS image (using Undo Disk feature of the Virtual Server), because once MSI Packages registry values gets messed up, you will never know if it's your problem or MSI's.

To summarize,
- Please look into Event Log to figure out what the problem is with Cassini not starting. Once this fixed, it may fix the shortcut problem. If not,
- MSI installation kickoff when shortcut is clicked can be either MSI's fault due to messed up Package Registry settings, or yours or Cassini's. Figuring this out may be tough, and is better done on clean machine/image.

Please let us know if you were able to make some progress.

Best regards,
UltiDev Team.
Please donate at http://www.ultidev.com/products/Donate.aspx to help us improve our products.
Xier
#5 Posted : Thursday, September 14, 2006 10:46:06 AM(UTC)
Groups: Member
Joined: 7/20/2006(UTC)
Posts: 7

Just for reference, In testing the install, I am using VMWare virtual system.

The image I use is a clean install of XP with very few programs installed.

It does not even have the .NET framework installed. I use this image to test that the prerequisites get loaded.

I install ver 1.0.0 and then try installing 1.0.1 on this clean system, therefore, I do not believe I am registering any DLL in the .NET 1.1 GAC.

I will go ahead and try the installation once again on a clean copy of my virtual system.

Thanks so much for responding in such a timely manner.


I noted that when I was checking out Services under Administrative tools that windows indicated the process for Cassini .NET 2.0 Server was in "starting" mode, not stopped, or start.
When I would manually try to start it I would get a message that the service has started and stopped and that "some services automatically stop" when they have nothing to do like alert service.

Thanks again,
LL
Ultidev Team
#6 Posted : Thursday, September 14, 2006 10:54:44 AM(UTC)
Ultidev Team

Groups: Administration
Joined: 11/3/2005(UTC)
Posts: 2,253

Thanks: 28 times
Was thanked: 60 time(s) in 59 post(s)
Hello, LL.

Well, VMWare is just as fine as MS Virtual Server. So basically it come down to whether we can figure out whther it's Cassini somehow causing the problem. Please take a look at the Event Log - there Cassini is logging its problems in details. If we determine that it's not Cassini, then figuring out what's going wrong with MSI will not be a trivial task..

Let us know when if you find out what's going on.

All the best,
UltiDev Team.
Please donate at http://www.ultidev.com/products/Donate.aspx to help us improve our products.
Xier
#7 Posted : Thursday, September 14, 2006 12:10:15 PM(UTC)
Groups: Member
Joined: 7/20/2006(UTC)
Posts: 7

Receiving som inconsistant results. I installed ver 1.0.0 then ver 1.0.1

System rebooted. Check the event log.

Noticed 2 warnings.

Detection of product '{78597BB0-7DAF-471F-82C0-D5791B2336DE}', feature 'DefaultFeature' failed during request for component '{B3D5FB0D-2BF0-CF08-C46C-8C0EDB5B78AC}'

and

Detection of product '{78597BB0-7DAF-471F-82C0-D5791B2336DE}', feature 'DefaultFeature', component '{35B8455E-D41A-9E4F-A926-1423F926FB81}' failed. The resource 'C:\Program Files\Xxxx\XXXXxxxxxxx\Images\93-69-2000.jpg' does not exist.

Cassini appeared to be started correctly. I clicked on my shortcut and it launched the installer and I received the message that the installer was already running. i let the system idle and it looks like an invisible instance of my installer was going on in the background. My system spontaneously rebooted due to the reboot command issued at the end of the install (Normally this asks the user to reboot but since I could not see it, it seems to have automatically rebooted)

Once the system started back up I saw this error.

Service cannot be started. System.IO.FileNotFoundException: Could not load file or assembly 'Cassini2Core, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc16caed94880aaa' or one of its dependencies. The system cannot find the file specified.
File name: 'Cassini2Core, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc16caed94880aaa'
at CassiniService.Service1.WebAppEntry..ctor(ApplicationEntry applicationConfiguration)
at CassiniService.Service1.StartAppApps(Metabase metabase)
at CassiniService.Service1.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

However, I checked and the service started up correctly afterwards it seems.

I clicked my shortcut and it launched my webpage correctly.

When I go into Cassini Explorer I see two instances of my page registered on two different ports. One version is the correct newly upgraded GUID for ver 1.0.1, the other is a GUID I have not seen before, it is not associated with either 1.0.0 or 1.0.1

Summary:
Install 1.0.0
Install 1.0.1
Try to run 1.0.1
Phantom install -> reboot
Try to run 1.0.1 and it runs
2 entries in cassini explorer for the same program location different port, different GUID

All of this inconsistant with initial problem of Cassini server 2.0 service not starting.
Ultidev Team
#8 Posted : Thursday, September 14, 2006 8:04:12 PM(UTC)
Ultidev Team

Groups: Administration
Joined: 11/3/2005(UTC)
Posts: 2,253

Thanks: 28 times
Was thanked: 60 time(s) in 59 post(s)
Hi, LL!

We don't have the clear solution for the issue right now, but will continue to try finding one. MSI as a technology is not terribly straightforward. We experienced something similar when trying to create installer for DotNetNuke. MS Setup project seems to expose only small portion of MSI runtime. But there are a couple of points to start looking at:
1. Please be sure that both versions of your products share the same upgrade code, otherwise previous version will remain. The fact that both apps were registered after the upgrade hints that upgrade code is not the same.
2. Do you use "Remove previous version" option int the version 1.0.1 of your product? Try it if you don't.
3. How do you initiate the reboot? Do you use MSI functionality for that or custom steps? Reboot would need to be triggered after MSI is done, i.e. not by custom steps. Otherwise MSI may decide it was interrupted and attempt to continue the installation after the reboot.

Best regards,
UltiDev Team.
Please donate at http://www.ultidev.com/products/Donate.aspx to help us improve our products.
Xier
#9 Posted : Monday, September 18, 2006 5:31:34 AM(UTC)
Groups: Member
Joined: 7/20/2006(UTC)
Posts: 7

Hello,

1. The upgrade code remains the same. I have not modified that value when trying to up the version.
2. Remove Previous Version is set to true in my properties.
3. I added the reboot using the Orca tool from Microsoft. I went into the MSI and in the InstallExecuteSequence heading added a command for "ScheduleReboot"

Browsing some sites for my errors seem to indicate that there may be something in the registry not being cleared correctly, causing the installer to pop up when trying the shortcut. This may also link to the reason that the previous version is still registered with cassin,i even though the previous version should be removed. It may be possible that the MSI can't handle trying to remove and install a merge module running as a service without a reboot.

I may end up forcing users to explicitly uninstall the previous version before attempting to install my new revision.

Thanks for the suggestions in helping me clear up this issue.

LL
Ultidev Team
#10 Posted : Monday, September 18, 2006 7:20:42 AM(UTC)
Ultidev Team

Groups: Administration
Joined: 11/3/2005(UTC)
Posts: 2,253

Thanks: 28 times
Was thanked: 60 time(s) in 59 post(s)
Hi, LL.

Thank you for the update. If you use Orca, then you are likely to be as good as we are or even better with MSI. You did exactly the right thing by using Orca to schedule the reboot. We hope you figure out what's going on. Please share here if you could when you resolve this. We had similar issues with installer starting when shortcut is clicked when creating an installer for an exe program. We assumed it was because something was wrong with the exe installer. Since many people bundle Cassini with there programs, any information on resolving MSI issues will be greatly appreciated by the community.

Best Regards,
UltiDev Team.
Please donate at http://www.ultidev.com/products/Donate.aspx to help us improve our products.
Xier
#11 Posted : Monday, September 18, 2006 7:40:30 AM(UTC)
Groups: Member
Joined: 7/20/2006(UTC)
Posts: 7

I went through another run of clean install update to get a better picture of what is occuring.

1. Fresh install off my application CD goes smoothly. MSI installer asks user to reboot (Orca scripted)
2. System has been rebooted.
3. Autorun updated CD. Installation begins, finds previous version, begins to remove it. Afterwards, begins to install new version.
4. MSI installer asks user to reboot. (At this point it looks as if everything went smoothly)
5. System has been rebooted.
6. (Since I know the shortcut will pull up the installer, I open up cassini explorer right away, the page fails to load; cassini service is not running)
7. While I am doing step 6 I check the event log and notice warnings in relation to MsiInstaller. (The errors are the same/similar to the ones I posted previously)
8. After some time I notice that the installer is running invisibly because one of my custom actions begins to occur. After custom actions finish, the prompt for reboot should happen(per Orca), however since the install was invisible it simply sends the reboot command and attempts to shut down the computer. I had the computer properties page open and it caused the reboot to halt till i closed it. Had nothing been open the system would have simply rebooted itself.
9. System has been rebooted. Checking cassini explorer indicates 2 programs registered, the old entry on it's original port and the updated one on a newly assigned port.
10. At this point the updated program now works correctly.

Even though it is working correctly the invisible install is not something that should be occuring.

My custom action involves running of a VBScript to extract a data file from the installer CD.
The file was too large to include within the MSI Installer and would cause it to fail compiling.
I compressed it as a separate file that is extracted to the installed dir right before the installer finishes.

This is how I know an invisible install is occuring because the progress bar for the file extraction pops up even though I could not see the installer program.

My best guess right now is that perhaps my custom action is causing the installer to think it failed upon reboot and launches the installer again.

I will of course update if I find a workaround.

LL

Xier
#12 Posted : Tuesday, September 19, 2006 7:02:20 AM(UTC)
Groups: Member
Joined: 7/20/2006(UTC)
Posts: 7

BUG: Visual Studio .NET Setup Projects Execute Custom Action of Previous Version when Upgrading

http://support.microsoft...px?scid=kb;en-us;555184

I have a feeling this is possibly attributing to my difficulties in upgrading version numbers.
As I stated before, I do have a custom action occuring during my install.

For the time being I will simply be leaving the version number alone.
In doing so, it forces the newer installer to ask the user to uninstall the previous copy before they can continue.

I am not 100% sure this is the cause since the kb article only says 2002/2003 and not 2005. Considering they did not fix the bug to allow large file sizes for MSI install, I have a feeling they may not have fixed this bug either.

Anyways, I hope this can help others if they happen to see any similar symptoms with their projects.

LL

Ultidev Team
#13 Posted : Tuesday, September 19, 2006 7:13:45 AM(UTC)
Ultidev Team

Groups: Administration
Joined: 11/3/2005(UTC)
Posts: 2,253

Thanks: 28 times
Was thanked: 60 time(s) in 59 post(s)
Thanks for sharing, LL.

We could tell that upgrade installations of MSIs created by Visual Studio are not the same as removing a previous version and then installing the new one, even if "Remove previous version" flag is set to true, but we were not sure if we simply missed something about MSI. Now everyone knows what to expect from upgrade installations.

Thank you,
UltiDev Team.
Please donate at http://www.ultidev.com/products/Donate.aspx to help us improve our products.
Rss Feed  Atom Feed
Users browsing this topic
Guest (4)
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You can vote in polls in this forum.