feat(valleywide): drive 3 deep dive - VWP1.VHDX mount + 97-Server\VWP2 grab
Drive 3 yielded the biggest finds in the project so far.
VHDX mount + scan (D:\WIN7-Orders\Darv-2\VWP1.VHDX, 117 GB Hyper-V disk):
- Mounted read-only as F:, scanned in 85s, dismounted
- NOT Darv's dev box - it's the office "owner" admin workstation
- No newer source code found inside, but:
- Vwp11.mdb (2023-07-27, 369 MB) - NEWEST DB snapshot anywhere
- Vwp.mdb (2022-12-23, 769 MB) - on Desktop\Darv VWP
- Orders Versions/ desktop folder with 2 EXEs + 7 shortcuts
- The .lnk shortcuts all pointed to G:\VWP2\Orders*.exe - the
"Aha!" that revealed where Darv's iteration happened
- Saved to source-code/from-VHDX-VWP1/
The VWP2 grab (D:\97-Server-G-Drive\g$ 2024-04-10\VWP2\):
- This is Darv's actual iteration workspace on the production
Orders server (G: drive)
- 16.36 GB total, 1,061 files. Grabbed 886 files (~893 MB) filtered to
*.exe, *.rpt, *.ocx, and VB6 source extensions:
- 64 Orders*.exe versions - complete iteration history (includes the
production Orders_10A.exe + Orders_10Z.exe variant + dozens more
with Darv's "iterate-and-rename" naming pattern)
- 820 Crystal Reports (.rpt)
- 2 .ocx supporting controls
- Skipped 23 historical .mdb backups (15.8 GB) - we already have
newer snapshots from 000_ASource and VHDX
- Skipped 6 large subfolders (HOLD, HHOLD, Pay_2021_0325, GWAC,
20220205, 20211010 RPT) - mostly more MDBs
- Saved to source-code/from-VWP2-97server/
What we learned about the 4-year gap:
- No source code newer than 2020-06-09 ORDERS_C.vbp baseline found
on any of the three rotation drives
- The 64 EXE versions in VWP2 go through 2022 - Darv was iterating
and rebuilding compiled output but not updating his .vbp source
control. This is consistent with his "rename and try" workflow
- The production exe (Orders_10A.exe) is in this batch - now we can
use VB Decompiler Pro on it without needing the original drive
Helper scripts:
- scan_vhdx.ps1 - fast PowerShell scan of a mounted VHDX for source/DB
- find_vwp2.py - cross-CSV search for the VWP2 path
- vwp2_summary.py - size+type breakdown of the VWP2 folder
- debug_vwp2.py - one-off debug helper
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
"""Debug: find actual VWP2 folder paths in drive 3 CSV."""
|
||||
import csv
|
||||
|
||||
WIZ = 'clients/valleywide/app-modernization/WizTree_20260516174356.csv'
|
||||
|
||||
hits = []
|
||||
with open(WIZ, encoding='utf-8-sig', errors='replace') as f:
|
||||
r = csv.reader(f); next(r); next(r)
|
||||
for row in r:
|
||||
if not row: continue
|
||||
p = row[0]
|
||||
pl = p.lower()
|
||||
# Look for any path containing 'g$' (server snapshot pattern) and 'vwp2' as a folder name (with surrounding backslash)
|
||||
if 'vwp2' + chr(92) in pl and 'g$' in pl:
|
||||
hits.append(p)
|
||||
if len(hits) > 15: break
|
||||
|
||||
print(f'sample vwp2 folder paths in drive 3 (15):')
|
||||
for h in hits[:15]:
|
||||
print(f' {h!r}')
|
||||
|
||||
# Also check what server snapshots exist
|
||||
print('\nServer snapshot leaf folders containing "g$":')
|
||||
seen = set()
|
||||
with open(WIZ, encoding='utf-8-sig', errors='replace') as f:
|
||||
r = csv.reader(f); next(r); next(r)
|
||||
for row in r:
|
||||
if not row: continue
|
||||
p = row[0]
|
||||
if not p.endswith(chr(92)): continue
|
||||
leaf = p.rstrip(chr(92)).rsplit(chr(92), 1)[-1]
|
||||
if leaf.lower().startswith('g$') and leaf not in seen:
|
||||
seen.add(leaf)
|
||||
print(f' {leaf!r}')
|
||||
@@ -0,0 +1,116 @@
|
||||
"Ext","Name","Modified","SizeKB","Path"
|
||||
".mdb","vwp1.mdb","7/27/2023 2:16:19 PM","61908","F:\Users\owner\Documents\WCAudits\vwp1.mdb"
|
||||
".mdb","vwp11.mdb","7/27/2023 2:14:19 PM","377732","F:\Users\owner\Documents\Darv\Vwp11.mdb"
|
||||
".mdb","vwp.mdb","12/23/2022 4:04:58 PM","787138","F:\Users\owner\Desktop\Darv VWP\Vwp.mdb"
|
||||
".mdb","vwp.mdb","8/20/2022 11:37:42 AM","729812","F:\Users\owner\Desktop\Vwp.mdb"
|
||||
".mdb","vwp.mdb","5/28/2022 3:23:30 PM","735362","F:\Vwp.mdb"
|
||||
".mdb","db6.mdb","4/8/2020 5:32:57 AM","29104","F:\Users\owner\Documents\db6.mdb"
|
||||
".mdb","cmspost.mdb","6/1/2019 8:27:25 AM","322","F:\CMSPost.mdb"
|
||||
".mdb","vwp.mdb","11/10/2018 11:56:08 AM","621106","F:\BU Weekly\Vwp.mdb"
|
||||
".mdb","vwp1.mdb","9/12/2018 10:35:25 AM","80446","F:\Users\owner\Documents\Darv\vwp1.mdb"
|
||||
".mdb","vwp1.mdb","9/12/2018 10:35:25 AM","80446","F:\WCAudit\vwp1.mdb"
|
||||
".mdb","vwp12.mdb","8/27/2018 6:03:30 AM","61908","F:\WCAudit\vwp12.mdb"
|
||||
".mdb","db180825.mdb","8/25/2018 6:38:57 PM","440","F:\Users\owner\Documents\db180825.mdb"
|
||||
".mdb","db5.mdb","8/25/2018 6:23:17 PM","72","F:\Users\owner\Documents\db5.mdb"
|
||||
".mdb","db4.mdb","8/25/2018 5:45:31 PM","298","F:\Users\owner\Documents\db4.mdb"
|
||||
".mdb","db51.mdb","8/25/2018 5:44:10 PM","8464","F:\Users\owner\Documents\db51.mdb"
|
||||
".mdb","db111.mdb","8/25/2018 5:43:16 PM","212416","F:\Users\owner\Documents\db111.mdb"
|
||||
".mdb","db2.mdb","5/17/2018 1:46:02 PM","121234","F:\Users\owner\Documents\db2.mdb"
|
||||
".mdb","db6.mdb","4/23/2018 10:48:56 AM","221096","F:\Users\owner\Documents\Darv\db6.mdb"
|
||||
".mdb","db3.mdb","1/8/2018 1:18:39 PM","4556","F:\Users\owner\Documents\db3.mdb"
|
||||
".mdb","db1.mdb","12/21/2017 7:10:06 AM","61908","F:\Users\owner\Documents\db1.mdb"
|
||||
".mdb","prtrans.mdb","12/18/2017 7:32:38 AM","37244","F:\Users\owner\Documents\CMS Setup\PRTrans.mdb"
|
||||
".mdb","vwp.mdb","12/2/2017 3:13:27 PM","575044","F:\Users\owner\Documents\Darv\Vwp.mdb"
|
||||
".mdb","db1.mdb","12/2/2017 3:07:30 PM","466700","F:\Users\owner\Documents\Darv\db1.mdb"
|
||||
".mdb","vwp.mdb","8/18/2017 3:51:55 PM","651748","F:\Holding\Vwp.mdb"
|
||||
".mdb","xtreme.mdb","2/3/2001 1:06:30 PM","1430","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Databases\xtreme.mdb"
|
||||
".vbw","viewer runtime options.vbw","2/3/2001 1:06:26 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Viewer Runtime options\Viewer Runtime Options.vbw"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:26 PM","12.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Viewer Runtime options\frmAbout.frm"
|
||||
".frm","frmmain.frm","2/3/2001 1:06:26 PM","23.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Viewer Runtime options\frmMain.frm"
|
||||
".vbp","viewer runtime options.vbp","2/3/2001 1:06:26 PM","1.3","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Viewer Runtime options\Viewer Runtime Options.vbp"
|
||||
".frm","preview.frm","2/3/2001 1:06:24 PM","4.4","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Simple Demo\Preview.frm"
|
||||
".vbw","unbound fields demo.vbw","2/3/2001 1:06:24 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Unbound Fields\Unbound Fields Demo.vbw"
|
||||
".frm","frmmain.frm","2/3/2001 1:06:24 PM","5.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Unbound Fields\frmMain.frm"
|
||||
".vbw","simplereport.vbw","2/3/2001 1:06:24 PM","0.1","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Simple Demo\SimpleReport.vbw"
|
||||
".vbp","simplereport.vbp","2/3/2001 1:06:24 PM","1.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Simple Demo\SimpleReport.vbp"
|
||||
".vbp","viewer.vbp","2/3/2001 1:06:24 PM","1.3","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Viewer\Viewer.vbp"
|
||||
".frm","viewer.frm","2/3/2001 1:06:24 PM","19.1","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Viewer\Viewer.frm"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:24 PM","12.8","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Viewer\frmAbout.frm"
|
||||
".vbp","unbound fields demo.vbp","2/3/2001 1:06:24 PM","1.4","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Unbound Fields\Unbound Fields Demo.vbp"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:24 PM","12.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Unbound Fields\frmAbout.frm"
|
||||
".vbw","viewer.vbw","2/3/2001 1:06:24 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Viewer\Viewer.vbw"
|
||||
".vbp","report variables.vbp","2/3/2001 1:06:22 PM","1.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Report Variables\Report Variables.vbp"
|
||||
".mdb","reportvariables.mdb","2/3/2001 1:06:22 PM","74","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Report Variables\ReportVariables.mdb"
|
||||
".vbw","report variables.vbw","2/3/2001 1:06:22 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Report Variables\Report Variables.vbw"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:22 PM","12.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Search and Select Experts\frmAbout.frm"
|
||||
".vbw","report object creation api.vbw","2/3/2001 1:06:22 PM","0.1","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Report Object Creation API\Report Object Creation API.vbw"
|
||||
".vbp","report object creation api.vbp","2/3/2001 1:06:22 PM","1.4","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Report Object Creation API\Report Object Creation API.vbp"
|
||||
".frm","frmmain.frm","2/3/2001 1:06:22 PM","6.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Report Variables\frmMain.frm"
|
||||
".vbw","search and select experts.vbw","2/3/2001 1:06:22 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Search and Select Experts\Search and Select Experts.vbw"
|
||||
".vbp","report wizard.vbp","2/3/2001 1:06:22 PM","1.3","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Report Wizard\Report Wizard.vbp"
|
||||
".frm","frmmain.frm","2/3/2001 1:06:22 PM","9.8","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Search and Select Experts\frmMain.frm"
|
||||
".vbp","search and select experts.vbp","2/3/2001 1:06:22 PM","1.5","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Search and Select Experts\Search and Select Experts.vbp"
|
||||
".bas","startmodule.bas","2/3/2001 1:06:22 PM","2.9","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Report Wizard\StartModule.bas"
|
||||
".vbw","report wizard.vbw","2/3/2001 1:06:22 PM","0.1","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Report Wizard\Report Wizard.vbw"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:22 PM","12.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Report Variables\frmAbout.frm"
|
||||
".vbp","pro athlete salaries.vbp","2/3/2001 1:06:20 PM","1.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Pro Athlete Salaries\Pro Athlete Salaries.vbp"
|
||||
".frm","frmselections.frm","2/3/2001 1:06:20 PM","37.3","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Pro Athlete Salaries\frmSelections.frm"
|
||||
".bas","utilities.bas","2/3/2001 1:06:20 PM","2.1","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Pro Athlete Salaries\Utilities.bas"
|
||||
".vbw","pro athlete salaries.vbw","2/3/2001 1:06:20 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Pro Athlete Salaries\Pro Athlete Salaries.vbw"
|
||||
".mdb","playersalaries.mdb","2/3/2001 1:06:20 PM","738","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Pro Athlete Salaries\PlayerSalaries.mdb"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:20 PM","12.8","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Report Object Creation API\frmAbout.frm"
|
||||
".frm","frmmain.frm","2/3/2001 1:06:20 PM","8.5","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Report Object Creation API\frmMain.frm"
|
||||
".frm","frmmain.frm","2/3/2001 1:06:20 PM","22.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Pro Athlete Salaries\frmMain.frm"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:20 PM","12.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Pro Athlete Salaries\frmAbout.frm"
|
||||
".vbp","no data in report event.vbp","2/3/2001 1:06:18 PM","1.4","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\No Data in Report Event\No Data in Report Event.vbp"
|
||||
".frm","frmmain.frm","2/3/2001 1:06:18 PM","5.1","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\No Data in Report Event\frmMain.frm"
|
||||
".cls","clsfilter.cls","2/3/2001 1:06:18 PM","2.3","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Pro Athlete Salaries\clsFilter.cls"
|
||||
".vbw","no data in report event.vbw","2/3/2001 1:06:18 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\No Data in Report Event\No Data in Report Event.vbw"
|
||||
".vbp","printer settings.vbp","2/3/2001 1:06:18 PM","1.1","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Printer Settings\Printer Settings.vbp"
|
||||
".frm","frmmain.frm","2/3/2001 1:06:18 PM","19.9","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Printer Settings\frmMain.frm"
|
||||
".vbw","printer settings.vbw","2/3/2001 1:06:18 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Printer Settings\Printer Settings.vbw"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:18 PM","12.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Printer Settings\frmAbout.frm"
|
||||
".bas","utilities.bas","2/3/2001 1:06:18 PM","3","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Printer Settings\Utilities.bas"
|
||||
".vbp","load picture.vbp","2/3/2001 1:06:16 PM","1.4","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Load Picture Demo\Load Picture.vbp"
|
||||
".vbw","load picture.vbw","2/3/2001 1:06:16 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Load Picture Demo\Load Picture.vbw"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:16 PM","12.8","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Load Picture Demo\frmAbout.frm"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:16 PM","12.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\No Data in Report Event\frmAbout.frm"
|
||||
".frm","frmpreview.frm","2/3/2001 1:06:16 PM","4.4","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Load Picture Demo\frmPreview.frm"
|
||||
".bas","utilities.bas","2/3/2001 1:06:12 PM","7.8","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\First Class Hotels\Utilities.bas"
|
||||
".frm","frmpreview.frm","2/3/2001 1:06:12 PM","3.3","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Inventory Demo\frmPreview.frm"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:12 PM","12.8","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Inventory Demo\frmAbout.frm"
|
||||
".vbw","inventory.vbw","2/3/2001 1:06:12 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Inventory Demo\Inventory.vbw"
|
||||
".vbp","inventory.vbp","2/3/2001 1:06:12 PM","1.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Inventory Demo\Inventory.vbp"
|
||||
".frm","frmmain.frm","2/3/2001 1:06:10 PM","4.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Field Mapping\frmMain.frm"
|
||||
".vbp","hotelsample.vbp","2/3/2001 1:06:10 PM","2.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\First Class Hotels\HotelSample.vbp"
|
||||
".vbw","hotelsample.vbw","2/3/2001 1:06:10 PM","0.5","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\First Class Hotels\HotelSample.vbw"
|
||||
".mdb","hotel.mdb","2/3/2001 1:06:10 PM","378","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\First Class Hotels\Hotel.mdb"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:10 PM","12.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Field Mapping\frmAbout.frm"
|
||||
".frm","frmcustomer.frm","2/3/2001 1:06:10 PM","18","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\First Class Hotels\frmCustomer.frm"
|
||||
".frm","frmmain.frm","2/3/2001 1:06:10 PM","6.3","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\First Class Hotels\frmMain.frm"
|
||||
".frm","frmbilling.frm","2/3/2001 1:06:10 PM","28.8","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\First Class Hotels\frmBilling.frm"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:10 PM","12.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\First Class Hotels\frmAbout.frm"
|
||||
".frm","frmprice.frm","2/3/2001 1:06:10 PM","15.3","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\First Class Hotels\frmPrice.frm"
|
||||
".frm","frmroom.frm","2/3/2001 1:06:10 PM","20.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\First Class Hotels\frmRoom.frm"
|
||||
".frm","frmreservation.frm","2/3/2001 1:06:10 PM","31.8","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\First Class Hotels\frmReservation.frm"
|
||||
".vbp","change runtime location of ole object.vbp","2/3/2001 1:06:08 PM","1.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Change Runtime Location of OLE Object\Change Runtime Location of OLE Object.vbp"
|
||||
".frm","frmmain.frm","2/3/2001 1:06:08 PM","8.9","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Embeddable Designer Control\frmMain.frm"
|
||||
".vbw","change runtime location of ole object.vbw","2/3/2001 1:06:08 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Change Runtime Location of OLE Object\Change Runtime Location of OLE Object.vbw"
|
||||
".frm","viewer.frm","2/3/2001 1:06:08 PM","3","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Change Runtime Location of OLE Object\Viewer.frm"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:08 PM","12.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Change Runtime Location of OLE Object\frmAbout.frm"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:08 PM","12.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Embeddable Designer Control\frmabout.frm"
|
||||
".vbp","employee profiles.vbp","2/3/2001 1:06:08 PM","1.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Employee Profile Demo\Employee Profiles.vbp"
|
||||
".vbw","field mapping.vbw","2/3/2001 1:06:08 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Field Mapping\Field Mapping.vbw"
|
||||
".vbp","field mapping.vbp","2/3/2001 1:06:08 PM","1.4","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Field Mapping\Field Mapping.vbp"
|
||||
".vbw","employee profiles.vbw","2/3/2001 1:06:08 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Employee Profile Demo\Employee Profiles.vbw"
|
||||
".frm","frmpreview.frm","2/3/2001 1:06:08 PM","4.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Employee Profile Demo\frmPreview.frm"
|
||||
".vbp","embeddable_designer_control.vbp","2/3/2001 1:06:08 PM","1.4","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Embeddable Designer Control\Embeddable_Designer_Control.vbp"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:08 PM","12.8","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\Employee Profile Demo\frmAbout.frm"
|
||||
".frm","frmabout.frm","2/3/2001 1:06:06 PM","12.7","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\ADO Connection Methods\frmAbout.frm"
|
||||
".frm","frmmain.frm","2/3/2001 1:06:06 PM","7.5","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\ADO Connection Methods\frmMain.frm"
|
||||
".vbp","ado connection methods.vbp","2/3/2001 1:06:06 PM","1.4","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\ADO Connection Methods\ADO Connection Methods.vbp"
|
||||
".vbw","ado connection methods.vbw","2/3/2001 1:06:06 PM","0.2","F:\Program Files\Seagate Software\Crystal Reports\Samples\En\Code\Visual Basic\ADO Connection Methods\ADO Connection Methods.vbw"
|
||||
".bas","global32.bas","12/22/2000 4:14:08 PM","121.3","F:\Program Files\Seagate Software\Crystal Reports\Developer Files\include\global32.bas"
|
||||
".bas","crwrap.bas","11/25/1999 10:00:00 PM","24.8","F:\Program Files\Seagate Software\Crystal Reports\Developer Files\include\crwrap.bas"
|
||||
".mdb","northwind.mdb","7/11/1997 12:00:00 AM","1510","F:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"
|
||||
".mdb","solutions.mdb","7/11/1997 12:00:00 AM","1250","F:\Program Files\Microsoft Office\Office\Samples\Solutions.mdb"
|
||||
|
@@ -0,0 +1,36 @@
|
||||
"""Cross-reference all WizTree CSVs for 97-Server-G-Drive\VWP2\ paths.
|
||||
The .lnk shortcuts in VHDX-VWP1's Orders Versions folder all pointed to G:\VWP2\.
|
||||
"""
|
||||
import csv, glob
|
||||
|
||||
SEARCH = '\\97-server-g-drive'
|
||||
SUB = '\\vwp2\\'
|
||||
|
||||
hits = []
|
||||
for csv_path in sorted(glob.glob('clients/valleywide/app-modernization/WizTree_2026*.csv')):
|
||||
with open(csv_path, encoding='utf-8-sig', errors='replace') as f:
|
||||
r = csv.reader(f); next(r); next(r)
|
||||
for row in r:
|
||||
if not row or len(row) < 4:
|
||||
continue
|
||||
pl = row[0].lower()
|
||||
if SEARCH in pl and SUB in pl:
|
||||
hits.append((csv_path.split('/')[-1], row[3], row[1], row[0]))
|
||||
|
||||
print(f'Found {len(hits)} \\VWP2\\ matches across the three rotation drive CSVs')
|
||||
print()
|
||||
print('--- Folders + .exe + .vbp + .mdb matches, deduped ---')
|
||||
seen = set()
|
||||
for src, mod, sz, p in sorted(hits):
|
||||
if p in seen:
|
||||
continue
|
||||
seen.add(p)
|
||||
is_folder = p.endswith('\\')
|
||||
pl = p.lower()
|
||||
if is_folder or pl.endswith('.exe') or pl.endswith('.vbp') or pl.endswith('.mdb') or pl.endswith('.frm'):
|
||||
try:
|
||||
sz_int = int(sz)
|
||||
sz_str = f'{sz_int/1024/1024:>7.1f}MB' if sz_int >= 1024*1024 else f'{sz_int:>9}b'
|
||||
except ValueError:
|
||||
sz_str = sz
|
||||
print(f' [{src[-12:-4]}] {mod:<19} {sz_str} {p}')
|
||||
@@ -0,0 +1,85 @@
|
||||
# Fast scan of mounted VWP1.VHDX for source-of-interest files.
|
||||
$ErrorActionPreference = 'SilentlyContinue'
|
||||
$root = 'F:\'
|
||||
$wantExts = @{
|
||||
'.vbp'=1; '.vbg'=1; '.vbw'=1; '.frm'=1; '.bas'=1; '.cls'=1; '.ctl'=1;
|
||||
'.scc'=1; '.mdb'=1
|
||||
}
|
||||
$wantFilenames = @{
|
||||
'srcsafe.ini'=1; 'ss.ini'=1; 'ssadmin.exe'=1; 'analyze.exe'=1
|
||||
}
|
||||
$cutoff = [DateTime]'2020-06-09'
|
||||
|
||||
$results = New-Object System.Collections.Generic.List[object]
|
||||
$darvFolders = New-Object System.Collections.Generic.List[string]
|
||||
$fileCount = 0
|
||||
$start = Get-Date
|
||||
|
||||
$stack = New-Object System.Collections.Generic.Stack[string]
|
||||
$stack.Push($root)
|
||||
while ($stack.Count -gt 0) {
|
||||
$dir = $stack.Pop()
|
||||
$leaf = Split-Path $dir -Leaf
|
||||
if ($leaf -ieq 'Windows' -or $leaf -ieq 'WinSxS' -or $leaf -ieq '$Recycle.Bin' -or $leaf -ieq 'System Volume Information') {
|
||||
# Don't descend into Windows-internal noise
|
||||
# But DO record if name matches darv/source/vwp/orders/vss
|
||||
if ($leaf -imatch 'darv|sourcesafe|vss') {
|
||||
$darvFolders.Add($dir)
|
||||
}
|
||||
continue
|
||||
}
|
||||
if ($leaf -imatch 'darv|sourcesafe|vss|orders|vwp') {
|
||||
$darvFolders.Add($dir)
|
||||
}
|
||||
try {
|
||||
foreach ($f in [System.IO.Directory]::EnumerateFiles($dir)) {
|
||||
$fileCount++
|
||||
$name = [System.IO.Path]::GetFileName($f).ToLower()
|
||||
$ext = [System.IO.Path]::GetExtension($name)
|
||||
if ($wantExts.ContainsKey($ext) -or $wantFilenames.ContainsKey($name)) {
|
||||
try {
|
||||
$fi = [System.IO.FileInfo]::new($f)
|
||||
$results.Add([pscustomobject]@{
|
||||
Ext = $ext
|
||||
Name = $name
|
||||
Modified = $fi.LastWriteTime
|
||||
SizeKB = [math]::Round($fi.Length/1KB, 1)
|
||||
Path = $f
|
||||
}) | Out-Null
|
||||
} catch {}
|
||||
}
|
||||
}
|
||||
} catch {}
|
||||
try {
|
||||
foreach ($sub in [System.IO.Directory]::EnumerateDirectories($dir)) {
|
||||
$stack.Push($sub)
|
||||
}
|
||||
} catch {}
|
||||
}
|
||||
|
||||
$elapsed = (Get-Date) - $start
|
||||
Write-Host "[INFO] Scanned $fileCount files in $([math]::Round($elapsed.TotalSeconds,1))s"
|
||||
Write-Host "[INFO] Found $($results.Count) source-of-interest files, $($darvFolders.Count) Darv/SourceSafe/Orders/VWP folders"
|
||||
Write-Host ""
|
||||
|
||||
# Surface findings
|
||||
Write-Host "=== Folders matching darv/sourcesafe/vss/orders/vwp on this VHDX ==="
|
||||
$darvFolders | Select-Object -Unique | Sort-Object | ForEach-Object { Write-Host $_ }
|
||||
Write-Host ""
|
||||
|
||||
Write-Host "=== .vbp / .frm / .bas / .cls / .ctl files NEWER than 2020-06-09 ==="
|
||||
$results | Where-Object { $_.Modified -gt $cutoff -and ('.vbp','.vbg','.vbw','.frm','.bas','.cls','.ctl') -contains $_.Ext } | Sort-Object Modified -Descending | Select-Object -First 50 | Format-Table Modified, SizeKB, Path -AutoSize | Out-String -Width 220 | Write-Host
|
||||
|
||||
Write-Host "=== srcsafe.ini / ss.ini (SourceSafe repository roots) ==="
|
||||
$results | Where-Object { $_.Name -in @('srcsafe.ini','ss.ini') } | Format-Table Modified, SizeKB, Path -AutoSize | Out-String -Width 220 | Write-Host
|
||||
|
||||
Write-Host "=== ALL .vbp files (any date) ==="
|
||||
$results | Where-Object { $_.Ext -eq '.vbp' } | Sort-Object Modified -Descending | Select-Object -First 50 | Format-Table Modified, SizeKB, Path -AutoSize | Out-String -Width 220 | Write-Host
|
||||
|
||||
Write-Host "=== .mdb files (database snapshots) ==="
|
||||
$results | Where-Object { $_.Ext -eq '.mdb' } | Sort-Object Modified -Descending | Select-Object -First 30 | Format-Table Modified, SizeKB, Path -AutoSize | Out-String -Width 220 | Write-Host
|
||||
|
||||
# Save full results to CSV for the record
|
||||
$outCsv = 'C:\Users\guru\ClaudeTools\clients\valleywide\app-modernization\source-analysis\drive3-2026-05-16\VHDX-scan-VWP1.csv'
|
||||
$results | Sort-Object Modified -Descending | Export-Csv -Path $outCsv -NoTypeInformation -Encoding UTF8
|
||||
Write-Host "[OK] Full results written to $outCsv"
|
||||
@@ -0,0 +1,71 @@
|
||||
"""Summarize VWP2 folder on drive 3 — size, newest content, file type breakdown."""
|
||||
import csv
|
||||
from collections import defaultdict
|
||||
|
||||
WIZ = 'clients/valleywide/app-modernization/WizTree_20260516174356.csv'
|
||||
# Use raw string to avoid \v -> vertical tab interpretation
|
||||
SEARCH_FOLDER = r'\97-server-g-drive\g$ 2024-04-10 21;13;45\vwp2\\'.lower()
|
||||
|
||||
folder_sizes = {}
|
||||
files_by_ext = defaultdict(list)
|
||||
all_files = []
|
||||
|
||||
prefix = SEARCH_FOLDER.rstrip('\\')
|
||||
print(f'DEBUG prefix: {prefix!r}')
|
||||
|
||||
with open(WIZ, encoding='utf-8-sig', errors='replace') as f:
|
||||
r = csv.reader(f); next(r); next(r)
|
||||
rows_checked = 0
|
||||
for row in r:
|
||||
if not row or len(row) < 4:
|
||||
continue
|
||||
rows_checked += 1
|
||||
p = row[0]; pl = p.lower()
|
||||
if prefix not in pl:
|
||||
continue
|
||||
try:
|
||||
sz = int(row[1])
|
||||
except (ValueError, IndexError):
|
||||
continue
|
||||
if p.endswith('\\'):
|
||||
try:
|
||||
files = int(row[5]); folders = int(row[6])
|
||||
except (ValueError, IndexError):
|
||||
files, folders = 0, 0
|
||||
folder_sizes[p] = (sz, files, folders, row[3])
|
||||
else:
|
||||
ext = p.rsplit('.', 1)[-1].lower() if '.' in p.rsplit('\\', 1)[-1] else '(none)'
|
||||
files_by_ext[ext].append((row[3], sz, p))
|
||||
all_files.append((row[3], sz, p, ext))
|
||||
|
||||
# Top-level VWP2 folder
|
||||
top = next((k for k in folder_sizes if k.lower().rstrip('\\').endswith('\\vwp2')), None)
|
||||
if top:
|
||||
sz, files, folders, mod = folder_sizes[top]
|
||||
print(f'=== {top} ===')
|
||||
print(f' {sz/1024/1024/1024:.2f} GB, {files:,} files, {folders} subfolders, modified {mod}')
|
||||
print()
|
||||
|
||||
print('=== File type breakdown ===')
|
||||
totals = []
|
||||
for ext, items in files_by_ext.items():
|
||||
total_mb = sum(s for _,s,_ in items) / 1024 / 1024
|
||||
totals.append((total_mb, ext, len(items)))
|
||||
for total_mb, ext, n in sorted(totals, reverse=True)[:15]:
|
||||
print(f' .{ext:<8} {n:>5} files, {total_mb:>10.1f} MB')
|
||||
print()
|
||||
|
||||
print('=== Newest 30 files in \\VWP2\\ tree ===')
|
||||
all_files.sort(reverse=True)
|
||||
for mod, sz, p, ext in all_files[:30]:
|
||||
print(f' {mod:<19} {sz/1024/1024:>8.1f} MB {p}')
|
||||
|
||||
print()
|
||||
print('=== Top-level subfolders of \\VWP2\\ ===')
|
||||
for path, (sz, files, folders, mod) in sorted(folder_sizes.items(), key=lambda x: -x[1][0]):
|
||||
if path.lower().rstrip('\\').endswith('\\vwp2'):
|
||||
continue
|
||||
rel = path.lower().split('\\vwp2\\', 1)[1].rstrip('\\')
|
||||
if '\\' in rel:
|
||||
continue # only direct children
|
||||
print(f' {sz/1024/1024:>8.1f} MB {files:>5} files {mod:<19} {path}')
|
||||
@@ -37,6 +37,22 @@
|
||||
- **`Vwp.mdb` dated 2022-10-19** (764 MB) — newest database snapshot anywhere, two years more recent than what the prior session had. Gitignored; on local disk only. Useful for schema-evolution analysis.
|
||||
- **`MSSCCPRJ.SCC` file** — Microsoft Source Code Control project file. Confirms Darv was using **Visual SourceSafe**. There may be a SourceSafe repository (`srcsafe.ini`) on a later drive that contains full version history. Worth grepping for `*.scc / srcsafe.ini` on subsequent scans.
|
||||
|
||||
### `from-VWP2-97server/` — Darv's iteration workspace (from drive 3)
|
||||
- **Source:** `D:\97-Server-G-Drive\g$ 2024-04-10 21;13;45\VWP2\` (drive 3 snapshot of the production Orders server `G:` drive)
|
||||
- **886 files, ~893 MB committed** — filtered to *.exe, *.rpt, *.ocx, plus VB6 source extensions (none found)
|
||||
- **64 Orders\*.exe versions** — Darv's complete iteration history. Filenames follow his "iterate-and-rename" pattern: `Orders_10A.exe` (the production EXE), `Orders_10Z.exe`, `Orders22.exe`, `Orders24.exe`, `XXOrders_08.exe`, `XOrdersXX.exe`, etc. Spans 2021-2022+ build dates.
|
||||
- **820 .rpt Crystal Reports** — current and historical report templates
|
||||
- **Skipped:** 23 historical Vwp.mdb backups (~15.8 GB) and 6 subfolders (HOLD, HHOLD, Pay_2021_0325, GWAC, 20220205, 20211010 RPT — mostly more MDBs). We already have 2022-10, 2022-12, and 2023-07 MDB snapshots from other locations.
|
||||
|
||||
### `from-VHDX-VWP1/` — Office admin "owner" workstation (from drive 3, mounted VHDX)
|
||||
- **Source:** `D:\WIN7-Orders\Darv-2\VWP1.VHDX` (117 GB Hyper-V disk, 2023-09-01)
|
||||
- VHDX was mounted read-only as F: drive on 2026-05-16, scanned, then dismounted
|
||||
- **NOT Darv's dev machine** — this is the "owner" user's accounting/admin workstation that used the Orders app
|
||||
- **`Orders-Versions/`** — Desktop folder with 2 EXEs (Orders22.exe Nov 2021, Orders24.exe Mar 2022) and 7 `.lnk` shortcuts ALL pointing to `G:\VWP2\Orders*.exe` — confirms G:\VWP2\ on 97-Server was the live shared location
|
||||
- **`database-snapshots/Vwp11_2023-07-27.mdb`** (369 MB, gitignored) — **newest DB snapshot anywhere** (9 months newer than 000_ASource's 2022-10 copy)
|
||||
- **`database-snapshots/Vwp_2022-12-23_from-Desktop.mdb`** (769 MB, gitignored) — December 2022 snapshot
|
||||
- **`misc/VWP1202Fix.zip` + `.log`** — undated fix package from 2017
|
||||
|
||||
### `VMs/` — VirtualBox disk images (gitignored)
|
||||
- **`VWIN7-DW.vdi`** (8.3 GB) — Darv's actual Windows 7 Dev workstation
|
||||
- Source: `D:\Office-Estimates\Darv\VirtualBox\VWIN7 DW.vdi`
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user