PDA

View Full Version : Remove/Modify-Button missing in Add or Remove Programs (Control Panel)



HeinzHotz
07-13-2007, 08:08 AM
I have a problem with my InstallScript/MSI-Project. If I install the application for the first time everything works fine (application appears in the Control Panel under "Add or Remove Programs" and button "Change/Remove" is availalble). However after a minor upgrade of the application the button "Change/Remove" is missing.

I converted the project from InstallShield X Professional to InstallShield 2008 Professional. The problem didn't exist with InstallShield X.

I would appreciate any help.

Heinz

sks2004
07-13-2007, 03:56 PM
I have this problem, but only within Vista.
I am convinced that it is because the msi database becomes corrupt after the reinstall... which occured without elevated rights.

nmsams
07-17-2007, 06:31 PM
I also have this problem. I upgraded my Installscript MSI project from IS 12 to IS 2008. I installed in upgrade mode on a Windows XP machine and I can see the program in add/remove programs but no change/remove button.

Any ideas??

Did you guys get this to work when it's a major upgrade? I'm going to try that next.

praveendanam
07-18-2007, 04:33 AM
hai,

i am also facing issues with vista. is there any article helping to create installers for vista.

-praveen

nmsams
07-18-2007, 11:48 AM
I changed the product code of my install in IS 2008 so that when I install it over my product from IS 12 it will see it as a major upgrade. This did the trick. I now have a Remove button.

I then made a new build in IS 2008 with the new product code to install over that as a minor upgrade. The Remove button was still there!

So it looks as if the problem is solved!

Moral to the story: Change product codes when changing versions of Installshield!

Feigenbaum
05-07-2008, 02:00 PM
My team has spent a long time reading the help and forums and tried lots of stuff, like changing the version on the component key files, changing the REINSTALLMODE, adding REINSTALL=ALL, adding Minor upgrades in the Upgrades view and nothing seems to make any difference at all. Maybe we need to add something (no clue what) to the rul file script.

The application is a C# .NET app. This is to make a small fix to a program, not to release the next version (so we don't want to go to say 2.0). Besides the IS 2008 upgrade the only real change made between the old and the new code for the bug fix was a upgrade from .NET WSE 2.0 to .NET WSE 3.0 (as the WSE 2.0 installer had a conflict with the Visual Studio 2008 we are using (also an upgrade from an earlier VS). This causes IS to find during a build the WSE .dll file and add it (no ISM change to make this happen) So this appears to IS as if an old component was removed and a new one added (but not a component we have in our ISM). This is a single feature install with only a typical mode.

We really don't want to create a new Product code (we tried this experimentally and it seems to drive IS to create a whole new ISM) if it forces a Major update (i.e., keeps the old program and installs a new one).

Anyone have any suggestions.

There is an error (seems more like a warning) about the missing WSE 2.0 dll. We tried setting the key file versions to get rid of the Val0010 messages, but that made no difference (ex in this run ASON.exe is not listed with a Val0010 as we did the version fix on it).

One (of many) logs of things we have tried: Val0010 seems to describe the problem, but we tried the recommended fix (above) to no avail.
================= Logging started at 5/7/2008 10:37:33 AM ==================
Created release folders
InstallShield Script Compiler
Version 14.0.0.162
Copyright 1997-2006 Macrovision Europe Ltd. and/or Macrovision Corporation. All Rights Reserved.

Compiling...
Setup.rul
C:\feigenba-ASON\src\appgroup\ason\apps\ASON\AsonInstall3\Script Files\Setup.rul(224) : warning W7507: 'BYREF' assumed for string parameter to dll function call (performance warning)
C:\feigenba-ASON\src\appgroup\ason\apps\ASON\AsonInstall3\Script Files\Setup.rul(224) : warning W7507: 'BYREF' assumed for string parameter to dll function call (performance warning)
C:\feigenba-ASON\src\appgroup\ason\apps\ASON\AsonInstall3\Script Files\Setup.rul(225) : warning W7507: 'BYREF' assumed for string parameter to dll function call (performance warning)
C:\feigenba-ASON\src\appgroup\ason\apps\ASON\AsonInstall3\Script Files\Setup.rul(225) : warning W7507: 'BYREF' assumed for string parameter to dll function call (performance warning)
C:\feigenba-ASON\src\appgroup\ason\apps\ASON\AsonInstall3\Script Files\Setup.rul(225) : warning W7507: 'BYREF' assumed for string parameter to dll function call (performance warning)
C:\feigenba-ASON\src\appgroup\ason\apps\ASON\AsonInstall3\Script Files\Setup.rul(225) : warning W7507: 'BYREF' assumed for string parameter to dll function call (performance warning)
C:\feigenba-ASON\src\appgroup\ason\apps\ASON\AsonInstall3\Script Files\Setup.rul(248) : warning W7511: 'open' : string literal passed as BYREF, change prototype to use BYVAL
C:\feigenba-ASON\src\appgroup\ason\apps\ASON\AsonInstall3\Script Files\Setup.rul(248) : warning W7511: ' IDS_CERT_REG_URL' : string literal passed as BYREF, change prototype to use BYVAL
C:\feigenba-ASON\src\appgroup\ason\apps\ASON\AsonInstall3\Script Files\Setup.rul(248) : warning W7511: '' : string literal passed as BYREF, change prototype to use BYVAL
C:\feigenba-ASON\src\appgroup\ason\apps\ASON\AsonInstall3\Script Files\Setup.rul(248) : warning W7511: '' : string literal passed as BYREF, change prototype to use BYVAL
Linking...
Setup.inx - 0 error(s), 10 warning(s)
ISDEV : warning -4371: There were warnings compiling InstallScript
AdminExecuteSequence table successfully built
AdminUISequence table successfully built
AdvtExecuteSequence table successfully built
AdvtUISequence table successfully built
InstallExecuteSequence table successfully built
InstallUISequence table successfully built
Directory table successfully built
Feature table successfully built
FeatureComponents table successfully built
Component table successfully built
Loading File table
Building File table
Adding file 'Microsoft.Web.Services3.dll' that is a dependency of component 'AsonServices.dll'
File table successfully built
Class table successfully built
Extension table successfully built
ODBCDataSource table successfully built
ODBCDriver table successfully built
ISSQLScriptFile table successfully built
ISSQLScriptReplace table successfully built
ISSQLConnectionScript table successfully built
ISSQLConnection table successfully built
ISSQLConnectionDBServer table successfully built
ISSQLRequirement table successfully built
ISPalmApp table successfully built
ISPalmAppFile table successfully built
ISComPlusProxy table successfully built
ISComPlusApplication table successfully built
ISComCatalogCollection table successfully built
ISComCatalogCollectionObjects table successfully built
ISComCatalogObject table successfully built
ISComCatalogAttribute table successfully built
ISComPlusApplicationDLL table successfully built
ISComPlusServerFile table successfully built
ISComPlusProxyFile table successfully built
ISComPlusServerDepFile table successfully built
ISComPlusProxyDepFile table successfully built
ISXmlFile table successfully built
ISXmlElement table successfully built
ISXmlElementAttrib table successfully built
ActionText table successfully built
Condition table successfully built
AppId table successfully built
AppSearch table successfully built
Property table successfully built
BBControl table successfully built
Billboard table successfully built
Binary table successfully built
BindImage table successfully built
CCPSearch table successfully built
CompLocator table successfully built
Complus table successfully built
ControlCondition table successfully built
ControlEvent table successfully built
CreateFolder table successfully built
CustomAction table successfully built
DrLocator table successfully built
DuplicateFile table successfully built
Environment table successfully built
Error table successfully built
EventMapping table successfully built
FileSFPCatalog table successfully built
Font table successfully built
IniFile table successfully built
IniLocator table successfully built
ISAlias table successfully built
ISCEApp table successfully built
ISCEDir table successfully built
ISCEFileExt table successfully built
ISCEInstall table successfully built
ISCEOtherAppCABs table successfully built
ISCERegistry table successfully built
ISCESetupFile table successfully built
ISCEShtCut table successfully built
ProgId table successfully built
ISComponentExtended table successfully built
ISCustomActionReference table successfully built
ISDRMFile table successfully built
ISFeatureExtended table successfully built
ISFileManifests table successfully built
ISIISAppPool table successfully built
ISIISCommon table successfully built
ISIISMetaData table successfully built
ISIISWebServiceExtension table successfully built
ISObjectProperty table successfully built
IsolatedComponent table successfully built
ISRequiredFeature table successfully built
ISSelfReg table successfully built
ISSetupType table successfully built
ISSetupTypeFeatures table successfully built
ISSQLDBMetaData table successfully built
ISSQLScriptError table successfully built
ISVRoot table successfully built
ISVRootAppMaps table successfully built
Verb table successfully built
ISWebSite table successfully built
ISXmlLocator table successfully built
LaunchCondition table successfully built
LockPermissions table successfully built
MIME table successfully built
MoveFile table successfully built
MsiAssembly table successfully built
MsiAssemblyName table successfully built
MsiDigitalCertificate table successfully built
MsiDigitalSignature table successfully built
MsiDriverPackages table successfully built
MsiPatchCertificate table successfully built
ODBCAttribute table successfully built
ODBCSourceAttribute table successfully built
ODBCTranslator table successfully built
PatchPackage table successfully built
PublishComponent table successfully built
Registry table successfully built
RegLocator table successfully built
RemoveFile table successfully built
RemoveIniFile table successfully built
RemoveRegistry table successfully built
ReserveCost table successfully built
SelfReg table successfully built
ServiceControl table successfully built
ServiceInstall table successfully built
SFPCatalog table successfully built
Shortcut table successfully built
Signature table successfully built
TextStyle table successfully built
TypeLib table successfully built
UIText table successfully built
Upgrade table successfully built
ISVirtualFile table successfully built
ISVirtualRegistry table successfully built
ISVirtualDirectory table successfully built
ISVirtualShortcut table successfully built
ISVirtualPackage table successfully built
ISVirtualRelease table successfully built
_Validation table successfully built
Searching project for extract-at-build components...
Building scanned MsiAssembly records
Building scanned MsiAssemblyName records
Validating Custom Action sequencing
Embedding manifest SetupExe.Invoker.manifest into setup.exe
Resolving strings...
Language English (United States) built
Embedding manifest SetupExe.Invoker.manifest into setup.exe
Adding Microsoft(R) .NET Framework redistributables to setup...
Building CAB files...
Data1.cab built
Files built
ISDEV : warning -6487: If you intend to distribute this upgrade as a patch, you should author the 'Patch Optimization' setting on the Advanced Settings panel of the Release Wizard.
Media table successfully built
Performing Upgrading and Patching Validation
ISDEV : error Val0001: The file '_4B5287C5D13340E0BBA88EBE61642D1F' with a target of '[programfilesfolder]\amazon\amazon services order notifier\microsoft.web.services2.dll' appears to have been removed from the setup, but does not appear in the RemoveFile table. This file will not be removed from the target machine when an upgrade is run unless the RemoveFile table has been authored. c:\docume~1\feigenba\locals~1\temp\76d\amazon services order notifier.msi
Val0003: This setup will perform a MINOR upgrade of the referenced previous setup c:\docume~1\feigenba\locals~1\temp\76d\amazon services order notifier.msi
ISDEV : error Val0006: The Component '_F8B479D429D0C082D562F189FBBE84F4' identified by ComponentID '{F8B479D4-429D-0C08-2D56-2F189FBBE84F}' is missing from the newest version of your setup. You can not delete components and still do a minor/small upgrade. You must perform a major upgrade. c:\docume~1\feigenba\locals~1\temp\76d\amazon services order notifier.msi
Val0010: The data in component 'AsonServices.dll' differs from the previous setup. However, this component will not reinstall in an upgrade scenario. Therefore, the changes will not be applied to the target system during the upgrade. Table: 'MsiAssemblyName' Record: 'AsonServices.dll;ProcessorArchitecture;MSIL' c:\docume~1\feigenba\locals~1\temp\76d\amazon services order notifier.msi
Val0010: The data in component 'AsonSertificates.XmlSerializers.dll' differs from the previous setup. However, this component will not reinstall in an upgrade scenario. Therefore, the changes will not be applied to the target system during the upgrade. Table: 'MsiAssemblyName' Record: 'AsonSertificates.XmlSerializers.dll;ProcessorArchitecture;MSIL' c:\docume~1\feigenba\locals~1\temp\76d\amazon services order notifier.msi
Val0010: The data in component 'AsonSertificates.dll' differs from the previous setup. However, this component will not reinstall in an upgrade scenario. Therefore, the changes will not be applied to the target system during the upgrade. Table: 'MsiAssemblyName' Record: 'AsonSertificates.dll;ProcessorArchitecture;MSIL' c:\docume~1\feigenba\locals~1\temp\76d\amazon services order notifier.msi
Val0010: The data in component 'AsonUtility.dll' differs from the previous setup. However, this component will not reinstall in an upgrade scenario. Therefore, the changes will not be applied to the target system during the upgrade. Table: 'MsiAssemblyName' Record: 'AsonUtility.dll;ProcessorArchitecture;MSIL' c:\docume~1\feigenba\locals~1\temp\76d\amazon services order notifier.msi
Val0010: The data in component 'AsonData.dll' differs from the previous setup. However, this component will not reinstall in an upgrade scenario. Therefore, the changes will not be applied to the target system during the upgrade. Table: 'MsiAssemblyName' Record: 'AsonData.dll;ProcessorArchitecture;MSIL' c:\docume~1\feigenba\locals~1\temp\76d\amazon services order notifier.msi
Setup.exe created
---------------------------------------------------------------------------------------------------------------------------------
Windows validation is disabled. To enable Windows validation: on the Tools menu, click Options and select the Validation tab.
You can use the Certified for Windows(R) Vista Validation Suite (plus InstallShield ICEs) to determine whether your product meets Certified for Windows(R) Vista Program installation standards.
For more information, see KB article <file:http://support.installshield.com/kb/view.asp?articleid=Q112118>.
---------------------------------------------------------------------------------------------------------------------------------
Automatic update notification disabled
Default Configuration\Default Release - 2 error(s), 2 warning(s)
================= Logging stopped at 5/7/2008 10:37:52 AM ==================
Log file has been created: <file:C:\feigenba-ASON\src\appgroup\ason\apps\ASON\AsonInstall3\Default Configuration\Default Release\LogFiles\5-7-2008 10-37-33 AM.txt>

nmsams
05-07-2008, 02:55 PM
Like I said in a prior post...always do a major upgrade when you are changing versions of IS. You run into less problems this way.

You can do a major upgrade and have it replace the prior version on the target computer. All you have to do is use the Upgrade Code. The Upgrade Code has to be the same in both versions. Then you change the Product Code in the new version. When you install the new version it will cause the old one to be uninstalled first before the new one is installed. IS handles all this automatically.

nmsams
05-07-2008, 03:02 PM
Also, looking at your error messages, I see you're removing components from your install. You need to add those to the RemoveFile table or else do a major upgrade. IS doesn't like it when you remove things mid-version. If I want to remove something but not do a major upgrade I usually just use some condition that will never be true. For instance, I will set the condition for a component to be when DoNotInstall = False. Where DoNotInstall is a variable I have defined in my setup.rul. I will then set DoNotInstall = True in the code so that the condition will always render false and the component will never be installed. Then on the next major release I will remove the components from the install completely and change the product code.

In my opinion, you're making pretty big changes that would really warrent a major upgrade.