-
мячик на.
Last edited by roma Golich; 08-31-2020 at 10:53 PM.
-
-
-
typedefof vs typeof (fsharp. an experiment)
(*
Msft F# Interactive
>let t1i =typeof<int> // val t1i : System.Type = System.Int32
>let t2i = typedefof<int> // val t2i : System.Type = System.Int32
------
>let t1s = typeof<seq<_>> // val t1s : System.Type = System.Collections.Generic.IEnumerable`1[System.Object] // неизвеcтные типовые параметры дженерика = Object
>let t2s = typedefof<seq<_>> // val t2s : System.Type = System.Collections.Generic.IEnumerable`1[T]
------
>let t1si = typeof<seq<int64>> // val t1si : System.Type = System.Collections.Generic.IEnumerable`1[System.Int64]
>let t2si = typedefof<seq<int64>> // val t2si : System.Type = System.Collections.Generic.IEnumerable`1[T]
let t1_ = typeof<_> // val t1_ : System.Type = System.Object
let t2_ = typedefof<_> // val t2_ : System.Type = System.Object
*)
-
-
How to restore file associations after ar-demo.
The ar6 demo installed after the full ar5, side-by-side.
```cmd
--------------------------------
SYSTEM Microsoft Windows [Version 6.1.7601] 15:17:21,10 PushD(+)··
C:\Tmp_inst
└─∙FTYPE | find /i "AmbientDesign"
AmbientDesign.ArtRage.BackupPaintingFile="C:\Progr am Files\Ambient Design\ArtRage 6 Demo\ArtRage Demo.exe" "%1"
AmbientDesign.ArtRage.GradientFile="C:\Program Files\Ambient Design\ArtRage 6 Demo\ArtRage Demo.exe" "%1"
AmbientDesign.ArtRage.PackageFile="C:\Program Files\Ambient Design\ArtRage 6 Demo\ArtRage Demo.exe" "%1"
AmbientDesign.ArtRage.PaintingFile="C:\Program Files\Ambient Design\ArtRage 6 Demo\ArtRage Demo.exe" "%1"
AmbientDesign.ArtRage.ScriptFile="C:\Program Files\Ambient Design\ArtRage 6 Demo\ArtRage Demo.exe" "%1"
AmbientDesign.ArtRage.StylusFile="C:\Program Files\Ambient Design\ArtRage 6 Demo\ArtRage Demo.exe" "%1"
AmbientDesign.ArtRage.ToolboxFile="C:\Program Files\Ambient Design\ArtRage 6 Demo\ArtRage Demo.exe" "%1"
```
_artrage5_reassos_ftypes.bat :
```bat
FTYPE | find /i "AmbientDesign"
FTYPE AmbientDesign.ArtRage.BackupPaintingFile="C:\Progr am Files\Ambient Design\ArtRage 5\ArtRage.exe" "%%1"
FTYPE AmbientDesign.ArtRage.GradientFile="C:\Program Files\Ambient Design\ArtRage 5\ArtRage.exe" "%%1"
FTYPE AmbientDesign.ArtRage.PackageFile="C:\Program Files\Ambient Design\ArtRage 5\ArtRage.exe" "%%1"
FTYPE AmbientDesign.ArtRage.PaintingFile="C:\Program Files\Ambient Design\ArtRage 5\ArtRage.exe" "%%1"
FTYPE AmbientDesign.ArtRage.ScriptFile="C:\Program Files\Ambient Design\ArtRage 5\ArtRage.exe" "%%1"
FTYPE AmbientDesign.ArtRage.StylusFile="C:\Program Files\Ambient Design\ArtRage 5\ArtRage.exe" "%%1"
FTYPE AmbientDesign.ArtRage.ToolboxFile="C:\Program Files\Ambient Design\ArtRage 5\ArtRage.exe" "%%1"
FTYPE | find /i "AmbientDesign"
assoc | find /i "AmbientDesign"
```
after the bat has been executed:
```cmd
--------------------------------
SYSTEM Microsoft Windows [Version 6.1.7601] 15:17:21,87 PushD(+)··
C:\Tmp_inst
└─∙assoc | find /i "AmbientDesign"
.argrad=AmbientDesign.ArtRage.GradientFile
.arpack=AmbientDesign.ArtRage.PackageFile
.arscript=AmbientDesign.ArtRage.ScriptFile
.arstyl=AmbientDesign.ArtRage.StylusFile
.artbx=AmbientDesign.ArtRage.ToolboxFile
.ptg=AmbientDesign.ArtRage.PaintingFile
.ptgback=AmbientDesign.ArtRage.BackupPaintingFile
```
```cmd
SYSTEM Microsoft Windows [Version 6.1.7601] 15:17:21,68 PushD(+)··
C:\Tmp_inst
└─∙FTYPE | find /i "AmbientDesign"
AmbientDesign.ArtRage.BackupPaintingFile="C:\Progr am Files\Ambient Design\ArtRage 5\ArtRage.exe" "%1"
AmbientDesign.ArtRage.GradientFile="C:\Program Files\Ambient Design\ArtRage 5\ArtRage.exe" "%1"
AmbientDesign.ArtRage.PackageFile="C:\Program Files\Ambient Design\ArtRage 5\ArtRage.exe" "%1"
AmbientDesign.ArtRage.PaintingFile="C:\Program Files\Ambient Design\ArtRage 5\ArtRage.exe" "%1"
AmbientDesign.ArtRage.ScriptFile="C:\Program Files\Ambient Design\ArtRage 5\ArtRage.exe" "%1"
AmbientDesign.ArtRage.StylusFile="C:\Program Files\Ambient Design\ArtRage 5\ArtRage.exe" "%1"
AmbientDesign.ArtRage.ToolboxFile="C:\Program Files\Ambient Design\ArtRage 5\ArtRage.exe" "%1"
```
-
How to change the HDD where the undo, etc, winxp mode's VHDs stored
Это — мои личные заметки, в общем-то, для себя, чтоб не искать.
что делать, чтобы переместить win7 winxp mode виртуальные диски: отката, разницы, и т.п., с диска C: на диск, скажем, D:.
VHD, похоже, хранятся рядом с xml-файлом настроек msft vm
windows xp mode.vmc
поэтому я его переместил в
"D:\vpc_vhd_file_diffType\winXpMode2\Windows XP Mode.vmc"
из
"C:\Users\вашаУчётка\AppData\Local\Microsoft\Windo ws Virtual PC\Виртуальные машины\Windows XP Mode.vmc"
и немного подпраил:
```xml
<?xml version="1.0" encoding="UTF-16"?>
<!-- Microsoft Virtual Machine Options and Settings -->
<preferences>
...
<ide_adapter>
<-- пути поменял аналогично для дисков -->
<ide_controller id="0">
<location id="1">
<drive_type type="integer">1</drive_type>
<pathname>
<absolute type="string">D:\vpc_vhd_file_diffType\winXpMode2\ WindowsXPMode_VHD2_ForTempData.vhd</absolute>
<relative type="string">.\WindowsXPMode_VHD2_ForTempData.vhd </relative>
</pathname>
<undo_pathname>
<absolute type="string">D:\vpc_vhd_file_diffType\winXpMode2\ VirtualPCUndo_Windows XP Mode_ччч.vud</absolute>
<relative type="string">.\VirtualPCUndo_Windows XP Mode_ччч.vud</relative>
</undo_pathname>
</location>
<location id="0">
<drive_type type="integer">1</drive_type>
<pathname>
<absolute type="string">D:\vpc_vhd_file_diffType\winXpMode2\ WinXPModeDiff2.vhd</absolute>
<relative type="string">.\WinXPModeDiff2.vhd</relative>
</pathname>
<undo_pathname>
<absolute type="string">D:\vpc_vhd_file_diffType\winXpMode2\ VirtualPCUndo_Windows XP Mode_ссс.vud</absolute>
<relative type="string">.\VirtualPCUndo_Windows XP Mode_ссс.vud</relative>
</undo_pathname>
</location>
</ide_controller>
...
<super_io>
<-- для windbg отладки драйверов -->
<serial_port id="0">
<port_type type="integer">3</port_type>
<pipe_name type="string">\\.\pipe\winxpmode</pipe_name>
</serial_port>
</super_io>
<settings>
<configuration>
<next_id type="integer">1</next_id>
<saved_state>
<path>
<absolute type="string">D:\vpc_vhd_file_diffType\winXpMode2\ Windows XP Mode.vsv</absolute>
<relative type="string">.\Windows XP Mode.vsv</relative>
</path>
</saved_state>
</configuration>
...
</preferences>
...
```
Потом поправил xml-файл c:\users\учётка\virtual machines\windows xp mode.vmcx
```xml
<?xml version="1.0" encoding="UTF-16"?>
<!-- Microsoft Virtual Machine Description and Registration Settings -->
<vm_description>
<primary_disk1 type="string">D:\vpc_vhd_file_diffType\winXpMode2\ WinXPModeDiff2.vhd</primary_disk1>
<primary_disk2 type="string">D:\vpc_vhd_file_diffType\winXpMode2\ WindowsXPMode_VHD2_ForTempData.vhd</primary_disk2>
<secondary_disk1 type="string" />
...
<vmc_path type="string">D:\vpc_vhd_file_diffType\winXpMode2\ Windows XP Mode.vmc</vmc_path>
</vm_description>
```
При тестировании ПО, проще использовать два diff-диска vhd, получится цепочка winxp_образ<-diff_в_AppData_Local<-diff#2_на_HDD_D
diff#2_на_HDD_D потом можно сливать с diff_в_AppData_Local при нормальной работе нового ПО.
Добавим
(для исходно присутствующего diff-vhd, к-рый явл-ся diff-vhd для инсталляционного winxp-mode vhd (из "c:\program files"),
"C:\Users\вашаУчётка\AppData\Local\Microsoft\Windo ws Virtual PC\Виртуальные машины\Windows XP Mode.vhd"
второй diff-диск (путём settings-hd1-create-diff vhd)
"D:\vpc_vhd_file_diffType\winXpMode2\wrkTmp_Diff2_ for_WinXpModeDiffVHD.vhd"
Вот, что не очень удобно, что в windows не вынесены часто изменяющиеся директории tmp, с не очень нужным содержимым, — в отдельный раздел.
Для структуры tmp-директориев сделал D:\vpc_vhd_file_diffType\winXpMode2\WindowsXPMode_ VHD2.vhd и подключил как hd2 (E: в winxp vm)
Для интеграции с clipboard хоста не достаточно просто включить это в разделе интеграции, надо ещё совместно используемый vhd (vm & хостом).
Надеюсь, что скрипты без ошибок — у рекламщиков карантин, сидят и долбят одним и тем же: воды полакали — позвонили...
Так... VHD сам не подключится после перезагрузки хоста, значит нужен батник и скрипт disk_part, очевидно, что в русской версии кодировка текста будет cp866 CrLf для обоих.
Диск сделал через консоль управления, на 250мб
"D:\TmpVHDDlaWinXpClipboard\TmpVHDDlaWinXpClipboar d.vhd"
Скрипт diskp_art для подключения vhd к хосту
Attach_Vhd_for_WinXpMode_work_w_clipboard.rusREM.D iskpartScript
```disk_part_(кодировка текста cp866 eol=crLF)
REM Dirty diskpart-script for attaching the vhd drive
REM romaGolich V 0.0.0.1
REM -----------------------------------------------------
REM Это DiskPart-скрипт, а не батник ms-dos.
REM Для запуска исп-ть
REM diskpart /s "C:\TmpSrc\UdExp\wrk2008\TmpExpSandcastle\myWinShe llNotes\CmdLine\my_DiskPart_Scripts\Attach_Vhd_for _WinXpMode_work_w_clipboard.DiskpartScript"
REM --------------------------------------------------------------------------------------------
REM diskpart-скрипт -- это текстовый файл, каждая строка к-рого содержит по одной команде DiskPart, и никаких пустых строк. Можно начать строку REM -- будет коментарий.
REM Скрипт для подключения .vhd-диска "D:\TmpVHDDlaWinXpClipboard\TmpVHDDlaWinXpClipboar d.vhd"
REM Оказалось, что просто разрешить Clipboard в интеграции winxp-mode недостаточно, надо ещё и диск общий с winxp и win7 в интеграции разрешить. Можно vhd в win7 подключить, однако консоль управления дисками его не подцепила автоматом при следующей перезагрузке. Поэтому понадобилось автоматизировать скриптом.
REM --------------------------------------------------------------------------------------------
REM Скрипт -- тест, надо переделать
REM V 0.0.0.0
REM --------------------------------------------------------------------------------------------
REM
REM
REM
SELECT VDISK FILE="D:\vpc_vhd_file_diffType\winXpMode2\TmpVHDDl aWinXpClipboard.vhd"
attach vdisk
exit
```
и батник для его запуска планировщиком
Подключить_VHD_250mb_G_xpMode.b_at
```bat (cp866 crlf)
rem Подключает VHD 250mb "D:\vpc_vhd_file_diffType\winXpMode2\TmpVHDDlaWinX pClipboard.vhd".
rem Без общего диска, разрешение clipboard средства интеграции winxp mode не давало copy-past-ить между vm и хостом
cd "C:\TmpMySrc\UdExp\wrk2008\TmpExpSandcastle\myWinS hellNotes\My_DiskPart_Scripts"
C:\Windows\System32\diskpart.exe /s "C:\TmpMySrc\UdExp\wrk2008\TmpExpSandcastle\myWinS hellNotes\My_DiskPart_Scripts\Attach_Vhd_for_WinXp Mode_work_w_clipboard.rusREM.DiskpartScript"
C:\Windows\System32\eventcreate.exe /ID 888 /T INFORMATION /L APPLICATION /D "%0 Подсоединил VHD (disk U:, сам VHD-файл на D:) для winxp. ERRORLEVEL=%errorlevel% ."
exit
```
Для отключения можно:
Detach_Vhd_for_WinXpMode_work_w_clipboard.rusREM.D iskpartScript"
```disk_part (cp866 CrLf)
REM Dirty diskpart-script for Detaching the vhd drive, char encoding CP866
REM romaGolich V 0.0.0.1
REM -----------------------------------------------------
REM Это DiskPart-скрипт, а не батник ms-dos.
REM Для запуска исп-ть
REM diskpart /s "C:\TmpMySrc\UdExp\wrk2008\TmpExpSandcastle\myWinS hellNotes\My_DiskPart_Scripts\Detach_Vhd_for_WinXp Mode_work_w_clipboard.rusREM.DiskpartScript"
REM --------------------------------------------------------------------------------------------
REM diskpart-скрипт - это текстовый файл, каждая строка к-рого содержит по одной команде DiskPart, и никаких пустых строк. Можно начать строку REM - будет коментарий.
REM Скрипт для подключения .vhd-диска "G:\TmpVHDDlaWinXpClipboard\TmpVHDDlaWinXpClipboar d.vhd"
REM Оказалось, что просто разрешить Clipboard в интеграции winxp-mode недостаточно, надо ещё и диск общий с winxp и win7 в интеграции разрешить. Можно vhd в win7 подключить, однако консоль управления дисками его не подцепила автоматом при следующей перезагрузке. Поэтому понадобилось автоматизировать скриптом.
REM --------------------------------------------------------------------------------------------
REM Скрипт - тест, надо переделать
REM V 0.0.0.0
REM --------------------------------------------------------------------------------------------
REM
REM
REM
SELECT VDISK FILE="D:\vpc_vhd_file_diffType\winXpMode2\TmpVHDDl aWinXpClipboard.vhd"
DETACH VDISK
exit
```
далее конспективно
Как советовал блогер из msft, подключил 24битный цвет (был 16битный в vm), но интеграцию пришлось отключить
создано значение реестра win7
ColorDepth (doubleword) = 4
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Win dows NT\Terminal Services
И
Ещё Tmp & Temp для XPMUser перебросил с системного диска, на vhd #2 — E:
%userprofile%\temp
на E:\tmp\%username%
правкой реестра для каждой учётки
надо ещё скрипт для автоустановки прав на такие директории сделать, пока — вручную.
Заметки потенциально содержать неточности, не полны, и пути к файлам — те, что у меня лично, а не у вас. Без любых гарантий, короче.
Last edited by roma Golich; 08-13-2022 at 04:10 AM.
-
-
-
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules