Inno Setup區段之Registry篇


簡述

創建,修改或刪除注冊表鍵/值

[Registry]

  • Root: 必需的 【HKCU、HKLM、HKCR、HKU、HKCC】

  • Subkey: 必需的 鍵值key

  • valueType 值類型 [
    none
    string REG_SZ
    expandsz REG_EXPAND_SZ
    multisz REG_MULTI_SZ
    dword REG_DWORD
    qword REG_QDWORD
    binary REG_BINARY ]

  • valueName key

  • valueData 值

  • Permissions 訪問控制權限列表 添加權限

  • Flags
    此參數是一組額外選項。可以通過用空格分隔它們來使用多個選項。支持以下選項:

    createvalueifdoesntexist
    當指定了該標志,安裝程序只在如果沒有相同名稱的值存在時創建值。如果值類型是 none,或如果你指定了 deletevalue 標志,該標志無效。

    deletekey
    當指定了該標志,安裝程序在如果條目存在的情況下,先將嘗試刪除它,包括其中的所有值和子鍵。如果 ValueType 不是 none,那么它將創建一個新的鍵和值。

    為防止意外,安裝期間如果 Subkey 是空白或只包含反斜杠符號,該標志被忽略。

    deletevalue
    當指定了該標志,安裝程序在如果值存在的情況下,先將嘗試刪除值,如果 ValueType 是 none,那么在鍵不存在的情況下,它將創建鍵以及新值。

    dontcreatekey
    當指定了該標志,如果鍵已經在用戶系統中不存在,安裝程序將不嘗試創建鍵或值。如果鍵不存在,不顯示錯誤消息。

    一般來說,這個鍵與 uninsdeletekey 標志組合使用,在卸載時刪除鍵,但安裝時不創建鍵。

    noerror
    如果安裝程序因任何原因創建鍵或值失敗,不顯示錯誤消息。

    preservestringtype
    這只在當 ValueType 參數是 string 或 expandsz 時適用。當指定該標志,並且值不存在或現有的值不是 string 類型(REG_SZ 或 REG_EXPAND_SZ),它將用 ValueType 指定的類型創建。如果值存在,並且是 string 類型,它將用先存在值的相同值類型替換。

    uninsclearvalue
    當卸載程序時,設置值數據為 null 字串(類型 REG_SZ)。該標志不能與 uninsdeletekey 標志組合使用。

    uninsdeletekey
    當卸載程序時,刪除整個鍵,包含其中的所有值和子鍵。這對於 Windows 自身使用的鍵明顯不是一個好方法。你只能用於你的應用程序特有的鍵中。

    為防止意外,安裝期間如果 Subkey 是空白或只包含反斜杠符號,該標志被忽略。

    uninsdeletekeyifempty
    當程序卸載時,如果這個鍵的內部沒有值或子鍵,則刪除這個鍵。該標志可以與 uninsdeletevalue 組合使用

    為防止意外,安裝期間如果 Subkey 是空白或只包含反斜杠符號,該標志被忽略。

    uninsdeletevalue
    當程序卸載時刪除該值。該標志不能與 uninsdeletekeyifempty 組合使用

    注意: 在早於 1.1 的 Inno Setup 版本中,你可以使用該標志連同數據類型 none,那么它的功能與“如果空則刪除鍵”標志一樣。這個方法已經不支持了。你必須使用 uninsdeletekeyifempty 標志實現。

code

[Registry]
Root: HKLM; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\My Company\My Program\Settings"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM