ICE61

ICE61 會檢查升級資料表,以確保符合下列條件:

  • 所有 ActionProperty 屬性都不會在 Property 資料表中預先撰寫。
  • 所有 ActionProperty 屬性都是公用屬性。
  • 所有 ActionProperty 屬性都包含在 SecureCustomProperties 屬性中。
  • 所有 ActionProperty 屬性對 Upgrade 資料表中的每個記錄都是唯一的。
  • 所有 VersionMax 值不小於對應的 VersionMin 值。
  • VersionMin 和 VersionMax 值是有效的產品版本。 如需有效的產品版本格式,請參閱 ProductVersion 屬性。
  • 不會嘗試移除較新版本或等於目前產品的版本。

無法修正 ICE61 回報的警告或錯誤,通常會導致升級應用程式時發生問題。 視確切錯誤而定,這可能是從舊版後方離開檔案、從較舊版本刪除檔案,即使新應用程式需要檔案,或升級失敗也一樣。

結果

如果上述任何條件不成立,ICE61 就會張貼警告或錯誤。

範例

ICE61 會針對顯示的範例報告下列錯誤和警告。

This product should remove only older versions of itself. The Maximum version is not less than the current product. (2.01.0000 2.01.0000)

在此情況下,第一個資料列會嘗試移除相同版本的產品。 (VersionMax 資料行等於 Property 資料表中的產品版本) 。

若要修正此錯誤,請使用 VersionMax 資料行中的版本低於 Property 資料表中指定的目前版本。 如果 VersionMax 等於目前的版本,請從 Attributes 資料行移除 msidbUpgradeAttributesVersionMaxInclusive 位。 如果目的只是要偵測產品而不移除它,將 msidbUpgradeAttributesOnlyDetect 位新增至 Attributes 資料行也會修正此錯誤。

Upgrade.ActionProperty EnglishAPPFOUND must be added to the SecureCustomProperties property.

除非屬性列在 SecureCustomProperties 屬性中,否則屬性不會在找到屬性時傳遞至安裝的伺服器端。

若要修正此錯誤,請將 屬性新增至 SecureCustomProperties

Upgrade.ActionProperty EnglishAPPFOUND must not contain lowercase letters.

升級屬性必須是公用屬性,才能將結果傳遞至安裝的伺服器端。

若要修正此錯誤,請使用屬性名稱中的所有大寫字母。

Upgrade.ActionProperty OLDAPPFOUND may be used in only one record of the Upgrade table.

屬性只能用於 Upgrade 資料表的一個資料列。

若要修正此錯誤,請使用第二個數據列的不同屬性。

Upgrade.VersionMax cannot be less than Upgrade.VersionMin. (OLDAPPFOUND)

最低版本必須小於最大版本。

若要修正此錯誤,請檢查您的版本號碼是否有錯字。 如果它們正確,而且您想要使用兩個版本之間的範圍,請切換它們,讓 VersionMin 小於 VersionMax。

屬性資料表

屬性
UpgradeCode {61AA4C55-E17F-11D2-93BB-0060089A76DB}
ProductVersion 2.01.0000
SecureCustomProperties OLDAPPFOUND

 

升級資料表

UpgradeCode VersionMin VersionMax 語言 屬性 移除 ActionProperty
{61AA4C55-E17F-11D2-93BB-0060089A76DB} 2.01.0000 513 OLDAPPFOUND
{61AA4C55-E17F-11D2-93BB-0060089A76DB} 2.01.0001 2.01.0000 OLDAPPFOUND
{C6CB4596-D8E8-D5A4-635F-9FE456D682EB} 1.00.0000 2.00.0000 1033 [AppFeatureEnglish] EnglishAPPFOUND

 

ICE 參考