【轉貼】使用安裝資訊 (.inf) 檔操作檔夾和檔

顯示結果從第 1 筆 到 1 筆,共計 1 筆
  1. #1
    --帳號停用中-- purk 的大頭照
    註冊日期
    2001-03-08
    討論區文章
    2,917

    【轉貼】使用安裝資訊 (.inf) 檔操作檔夾和檔

    可以採用多種方法使用 .inf 文件操縱文件和文件夾。主要的方法有:
    • 在檔夾中創建檔夾和鏈結
    • 創建和刪除長檔案名
    • 設置檔和檔夾的屬性
    • 將檔複製到 Program Files 檔夾
    在檔夾中創建檔夾和鏈結
    元件安裝完後外殼程式可以在 Program Files 檔夾中創建檔夾或在檔夾中創建鏈結。安裝程式在 Setup.ini 文件中查找 [progman.groups] 節,然後對它進行分析以便在檔夾中創建檔夾或鏈結。
    如果要安裝在 Program Files 檔夾中所需檔夾或鏈結的元件,請創建 UpdateInis 節,它將在 Setup.ini 檔中創建適當的條目。Setup.ini 檔使用以下語法創建檔夾和鏈結。注意檔夾與“開始”菜單有關。
    [progman.groups]
    folder_1=Folder_1_Name
    folder_2=Folder_2_Name
    :
    folder_n=Folder_n_Name

    [folder_1]
    Link-Name, .exe-name, Icon-file-name, Icon-index, profile
    如果 profile 欄位是 NULL,則鏈結將添加到檔夾中。
    注意
    • 如果 .exe-name 是 NULL 項目,則會在出現該項目時將它從組中刪除。
    • 如果檔夾或鏈結的說明中有空格,則必須在 Setup.ini 檔中使用雙引號顯示。請參閱以下示例。
    例子:遊戲

    [Optional Components]
    games

    [games]
    OptionDesc= %GAMES_DESC%
    CopyFiles= wingames.files
    UpdateInis= wingames.links
    [wingames.files]
    cards.dll
    freecell.exe
    freecell.hlp
    mshearts.exe
    mshearts.hlp
    sol.exe
    sol.hlp
    winmine.exe
    winmine.hlp

    [wingames.links]
    setup.ini, progman.groups,, "gamesfolder=%GAMES_DESC%" ;creates folder
    setup.ini, gamesfolder,, """Solitaire Game"",SOL.EXE,,," ;creates link
    setup.ini, gamesfolder,, "Minesweeper,WINMINE.EXE,,," ;creates link
    setup.ini, gamesfolder,, ""Hearts Card Game"",MSHEARTS.EXE,,,";creates link
    setup.ini, gamesfolder,, "FreeCell,FREECELL.EXE,,," ;creates link
    結果:“遊戲”條目將顯示在安裝程式的“可選元件”對話方塊中,並且如果已選中,在 Program Files 檔夾中將創建帶有“紙牌”、“掃雷”、“紅心大戰”和“空當接龍”鏈結的“遊戲”檔夾。
    創建和刪除長檔案名
    Windows 32 位元版本流覽器的安裝引擎是向後相容的 16 位 .dll 文件。因此,Windows 安裝引擎只能複製 8.3 檔案名格式的檔。要創建和刪除有長檔案名的檔,安裝引擎在退出時會運行 32 位元應用程式,將任何 8.3 檔案名重命名為長檔案名並刪除長檔案名的檔。32 位元應用程式會從註冊表中的預定義項中得到指令。
    重命名操作的註冊表根分支如下:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RenameFiles
    刪除操作的註冊表根分支如下:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DeleteFiles
    將重命名和刪除操作的每個組添加到每個分支下的子鍵。每組操作都限制為重命名或刪除單個檔夾中的檔。在每個子鍵中都必須至少包括兩個條目才能實現重命名或刪除:要重命名或刪除檔的檔夾路徑、以及實際的重命名或刪除操作。
    每組操作中的第一個註冊表鍵是檔夾條目。相關檔夾中用於重命名操作的每個條目形式為 "old_short_name"="new_long_name,[attrib_flag]"。
    可選的 attrib_flag 用於在重命名操作期間設置檔屬性。該標誌由以下值組成。
    1 READONLY
    2 HIDDEN
    3 SYSTEM
    要設置檔或檔夾的多個屬性,應同時添加標記。例如,要設置 READONLY 和 HIDDEN 屬性,attrib_flag 應為 3。
    下例是 AddReg 節,它設置 \Windows\System\Sample 檔夾的 SYSTEM 和 HIDDEN 屬性:
    HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Sys,,,%11% HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Sys,SAMPLE,,"SAMPLE,6"
    注意
    • 應該使用全部大寫字母以確保檔案名保留了短檔案名。
    相關檔夾中執行刪除操作的每個條目的形式為 "arbitrary_key_name"="long_name_to_delete"。
    下例是 AddReg 節:
    • 在 C:\Samples 文件夾中將 Oldname.txt 檔重命名為 New Long Name.txt。
    • 在 Windows 文件夾中將 Myreadme.txt 檔重命名為 My Application Readme.txt。
    [MyAppShort2Long]
    HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Samples,,,C:\Samples
    HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Samples,oldname.txt,,"New Long Name.txt"
    HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Win,,,%25%
    HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Win,myreadme.txt,,"My App Readme.txt"
    下例是 AddReg 節:
    • 從 C:\Samples 檔夾中刪除 New Long Name.txt。
    • 從 Windows 檔夾中刪除 My Application Readme.txt。
    [MyAppDelLong]
    HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Samples,,,C:\Samples
    HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Samples,oldname.txt,,"New Long Name.txt"

    HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Win,,,%25%
    HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Win,myreadme.txt,,"My App Readme.txt"
    處理完這些重命名和刪除操作後,從註冊表中刪除這些條目。
    注意
    • 在重命名操作期間,只有重命名檔後目標檔才能被刪除。如果有兩個相同的重命名操作等待執行,將導致檔丟失。例如,假設有一個需要將 Picture.bmp 重命名為“Really Cool 3D Picture.bmp”的點陣圖檔。第二次執行同樣的重命名操作時,“Really Cool 3D Picture.bmp”已存在,所以在重命名操作執行前會將它刪除。該規則的例外情況是現有的目標檔案名是檔夾。
    設置檔和檔夾的屬性
    要設置檔或檔夾的屬性,請使用相同的約定創建使用可選標誌的長檔案名。
    詳細資訊,請參閱“創建和刪除長檔案名”部分。
    將檔複製到 Program Files 檔夾
    因為複製 Windows 檔的操作是 16 位操作,所以只能使用短檔案名(8.3 格式)。要訪問 Program Files 檔夾,需要在 [DestinationDirs] 節中使用有效的 8.3 格式的名稱“24,PROGRA`1”(LDID 24 是包含 Windows 檔夾的驅動器根目錄)。同樣,必須用有效的短檔案名訪問 Program Files 檔夾中帶長檔案名的任何檔夾。
    下例將三個檔複製到 Program Files\Accessories 檔夾,並創建其中一個檔的鏈結:
    [WordPadInstall]
    CopyFiles = WordPadCopyFiles
    UpdateInis = WordPadInis
    [DestinationDirs]
    WordPadCopyFiles = 24,%PROGRAMF%\%ACCESSOR%
    [WordPadCopyFiles]
    mswd6_32.wpc
    wordpad.exe
    write32.wpc

    [WordPadInis]
    setup.ini, progman.groups,, "group4=%APPS_DESC%" ;創建 Accessories 檔夾(如果沒有)
    setup.ini, group4,, """%WORDPAD_LINK%"", ""%24%\%PROGRAMF%\%ACCESSOR%\WORDPAD.EXE""" ;在 Accessories 檔夾中創建鏈結
    [Strings]
    APPS_DESC = "Accessories"
    WORDPAD_LINK = "WordPad"
    ;檔夾名 - 注意短文件夾名必須與截斷的檔夾名匹配
    ;長檔夾名的 8 位元字元名,否則會出問題。
    PROGRAMF = "Progra~1" ;Program_Files 的前 6 個字元, + "~1"
    ACCESSOR = "Access~1" ;Accessories 的前 6 個字元, + "~1"
    .inf 檔的限制
    • 不能刪除目錄。
    • 使用 RenFiles 時不能將檔移到其他位置。(RenFiles 命令只能重命名此位置的文件。)
    • 不能複製檔(CopyFiles 命令只能將檔從源盤複製到目標目錄。)


    附加檔案 附加檔案

類似的主題

  1. 【問題】如何在家中的牆壁管線,安裝資訊插座!!
    作者:hoby 所在討論版:-- 網 路 硬 體 版
    回覆: 10
    最後發表: 2006-05-15, 10:05 PM
  2. 【求助】如何安裝資訊接頭
    作者:oevsbrian 所在討論版:---- ADSL 軟 硬 體 技 術
    回覆: 6
    最後發表: 2005-11-07, 12:12 AM
  3. 【轉貼】安裝資訊檔 (.inf) 定義
    作者:purk 所在討論版:-- Windows 討 論 版
    回覆: 0
    最後發表: 2005-06-25, 03:58 AM
  4. 資料夾和檔案名稱變成綠色的....
    作者:DDRJACK 所在討論版:-- Windows 討 論 版
    回覆: 6
    最後發表: 2004-10-29, 02:16 PM
  5. 請問一下資料夾和檔案的顯示方式~~
    作者:Squall701212 所在討論版:-- Windows 討 論 版
    回覆: 4
    最後發表: 2002-02-02, 04:07 PM

 

inf檔安裝

安裝inf檔

.inf檔

inf檔

如何安裝inf檔

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •