Environment
Situation
Error from log created during installation:
InstallShield: Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: An error occured while setting the database version for the SMCubeDepot database on the following SQL server
COMPONENT table missing from SMCUBEDEPOT database.
Resolution
Run the following script against the SMCUBEDEPOT database:
IF EXISTS(SELECT * FROM sysobjects where id = object_id(N'[dbo].[Component]'))
DROP TABLE [dbo].[Component]
GO
create table Component
(
[idComponent] uniqueidentifier ROWGUIDCOL NOT NULL CONSTRAINT [DF_Component_idComponent] DEFAULT (newid ()),
[Name] nvarchar(255) NOT NULL ,
[Version] varchar(10) NOT NULL ,
[TimeAdded] datetime NOT NULL ,
[LastModified] datetime NOT NULL ,
[LastModifiedBy] nvarchar(255) NULL ,
CONSTRAINT [PK_Component] PRIMARY KEY NONCLUSTERED ([idComponent])
)
GO
IF EXISTS (select name from sysindexes where name = '[CUI_NameVersion]')
drop index [dbo].[Component].[CUI_NameVersion]
GO
CREATE UNIQUE CLUSTERED INDEX [CUI_NameVersion] ON [dbo].[Component]([Name], [Version])
GO
GRANT ALL ON Component TO PUBLIC
GO
If you get an error about ALL being depricated, ignore this. The end result is to recreate the table so that the upgrade can populate this table.
Once this is successful, you may rerun the installer.