Diretiva INF CopyFiles - Copiar cursores para pasta não padrão

0

Estou usando este modelo INF que é instalado cursores para "C: \ Windows" usando o DIRID 10. Meu problema é que eu quero instalar os cursores em "C: \ NonSystemFolder" (idealmente usando% SystemDrive%).

Eu usei uma versão abreviada do modelo para testar o caminho absoluto DIRID e tentei passar a variável de ambiente% SystemDrive% para ele para que ele copiasse meu arquivo na unidade do sistema (sem pasta). O que ele realmente fez foi criar uma pasta chamada "% SystemDrive%" no caminho atual e colocar meu arquivo dentro dessa pasta.

[Version]
signature="$CHICAGO$"

[DefaultInstall]
CopyFiles = Scheme.Cur

[DestinationDirs]
Scheme.Cur = -1,"MyCursors"

[Scheme.Cur]
Working In Background.ani

Eu verifiquei a lista não exaustiva de DIRIDs que a Microsoft fornece em seu site, mas além de -1 (caminho absoluto) qualquer outro ID que parece descrever o que funcionaria para mim. Como mencionado anteriormente, no entanto, o ID -1 não faz o que eu supus que seria.

    
por David 21.06.2018 / 00:25

1 resposta

0

Então, eu re-li a documentação dos DIRIDs da Microsoft e Descobri que o DIRID 24 era exatamente o que eu estava procurando. A descrição tinha uma formulação bastante estranha, então, a princípio, desconsiderei que era a certa a ser usada.

Aqui está o modelo INF revisado para uma pasta personalizada na unidade do sistema (geralmente "C:"). Para que seja usado em seus cursores específicos, você precisa alterar os nomes dos arquivos sob [Scheme.Cur] e [Strings]. Comentários foram adicionados para facilitar.

[Version]
signature="$CHICAGO$"

[DefaultInstall]
; DIRID 24 is used throughout the file. That is the same as %SystemDrive%.
; Lines starting with semicolons are comments and are here just to help with editing.
CopyFiles = Scheme.Cur, Scheme.Txt
AddReg    = Scheme.Reg


[DestinationDirs]
Scheme.Cur = 24,"%CUR_DIR%"
Scheme.Txt = 24,"%CUR_DIR%"

[Scheme.Reg]
; Don't mess with this!
HKCU,"Control Panel\Cursors\Schemes","%SCHEME_NAME%",,"%24%\%CUR_DIR%\%pointer%,%24%\%CUR_DIR%\%help%,%24%\%CUR_DIR%\%workback%,%24%\%CUR_DIR%\%busy%,%24%\%CUR_DIR%\%cross%,%24%\%CUR_DIR%\%Text%,%24%\%CUR_DIR%\%handwrt%,%24%\%CUR_DIR%\%unavailiable%,%24%\%CUR_DIR%\%Vert%,%24%\%CUR_DIR%\%Horz%,%24%\%CUR_DIR%\%Dgn1%,%24%\%CUR_DIR%\%Dgn2%,%24%\%CUR_DIR%\%move%,%24%\%CUR_DIR%\%alternate%,%24%\%CUR_DIR%\%link%"

[Scheme.txt]
; Put here text files that you want to copy to the folder containing your cursors.
; READ ME.txt ;<-sample

[Scheme.Cur]
; Here goes the list of file names of your cursors. Order is irrelevant.
aero_arrow.cur
aero_helpsel.cur
aero_working.ani
aero_busy.ani
aero_select.cur
aero_unavail.cur
aero_ns.cur
aero_ew.cur
aero_nwse.cur
aero_nesw.cur
aero_move.cur
aero_link.cur
aero_cross.cur
aero_pen.cur
aero_up.cur

[Strings]
; This is the relative folder where cursors are going to be copied.
CUR_DIR       = "MyCursors\Windows Aero"
; This is the name of your Scheme. The one that will show up in Mouse Properties
SCHEME_NAME   = "Windows Aero"
; All the names within quotation marks MUST MATCH with the file names in Scheme.Cur. String names to the left should match equivalent cursors in the right.
pointer       = "aero_arrow.cur"
help          = "aero_helpsel.cur"
workback      = "aero_working.ani"
busy          = "aero_busy.ani"
text          = "aero_select.cur"
unavailiable  = "aero_unavail.cur"
vert          = "aero_ns.cur"
horz          = "aero_ew.cur"
;dgn1 is the one going from top-left to bottom-right
dgn1          = "aero_nwse.cur"
;dgn2 is the one going from top-right to bottom-left
dgn2          = "aero_nesw.cur"
move          = "aero_move.cur"
link          = "aero_link.cur"
;cross or precision selection
cross         = "aero_cross.cur"
handwrt       = "aero_pen.cur"
alternate     = "aero_up.cur"
    
por 24.06.2018 / 01:47