Dependencies & Tooling¶
A precise inventory of what the system needs to build and run, and where each piece comes from. If a build fails, the cause is almost always something on this page being missing.
Build-time toolchain¶
| Tool | Purpose | Notes |
|---|---|---|
| Visual Studio 2008 | Primary IDE and builder | Required to build the setup project; recommended for the app. |
| MSBuild | Command-line build of the app project | msbuild INVENTORY.sln /p:Configuration=Release /p:Platform="Any CPU". |
| .NET Framework 3.5 SDK | Target framework | Must be installed on the build machine. |
| Windows | Host OS | No cross-platform / dotnet CLI path exists. |
The setup project only builds in the IDE
SetupInventory\SetupInventory.vdproj is a legacy Visual Studio setup project. It
does not build under MSBuild — only inside the Visual Studio IDE.
The SmartSoft FrameWork DLLs (external, required)¶
The application references the FrameWork assemblies through relative HintPaths that
point outside this repository — e.g. ..\..\FrameWork\..., ..\..\..\DLL\...,
..\..\..\1.JMS\.... The build fails unless those sibling folders/DLLs exist next to the
checkout.
flowchart LR
subgraph Repo["This checkout"]
APP["smartsoft_inventory\INVENTORY"]
end
subgraph Outside["Sibling folders (outside the repo)"]
D1["..\..\FrameWork\*.dll"]
D2["..\..\..\DLL\*.dll"]
D3["..\..\..\1.JMS\*.dll"]
end
APP -->|HintPath| D1
APP -->|HintPath| D2
APP -->|HintPath| D3
style Outside fill:#fff3e0,stroke:#fb8c00
Key assemblies the app expects to find:
FrameWork.SmartSoft.BLLFrameWork.SmartSoft.GeneralFrameWork.SmartSoft.GUIFrameWork.SmartSoft.NetFrameWork.SmartSoft.DataAccessFrameWork.SmartSoft.StrukFrameWork.SmartSoft.ClosingSmartSoft.ParameterSmartSoft.Inventory.FrameWork.DataAccessMyLib,MyControl
The FrameWork source is available in this workspace under framework_smartsoft/, so
you can rebuild the DLLs when needed — but the Inventory app consumes them as compiled
binaries at their HintPath locations.
Third-party components¶
| Component | Type | Used for |
|---|---|---|
| Crystal Reports | Reporting engine | Rendering & printing all reports. Must be installed on build + client machines. |
| Interop.SQLDMO | COM interop | SQL Server admin (backup/restore, server info). |
| IrisSkin / Skinner | UI skinning DLL | The themed look of every form. |
| ChartFX.Lite | Charting control | Charts in dashboards/reports. |
| MessagingToolkit.QRCode | Library | QR-code generation. |
| MyControl | In-house control library | Custom WinForms controls. |
Runtime dependencies (client machines)¶
Every till / back-office PC that runs the app needs:
- Windows (x86-compatible).
- .NET Framework 3.5 runtime.
- Crystal Reports runtime.
- Network access to the SQL Server instance.
- The obfuscated registry configuration written under
HKCU\Software\VB and VBA Program Settings\SmartSoft\SystemSetting\<AppName>. - Receipt printer / peripherals where the PC is a till.
Database¶
| Item | Detail |
|---|---|
| Engine | Microsoft SQL Server (2005 / 2014-era). |
| Auth | SQL Server authentication (username/password embedded in the connection string). |
| Access | ADO.NET (System.Data.SqlClient) plus SQLDMO for admin tasks. |
| Schema | Owned by the database itself; the app assumes tables/procs already exist and can check via TableExist / ProcedureExist. |
Fastest way to diagnose a broken build
- Is Visual Studio 2008 / .NET 3.5 installed? 2. Are the FrameWork DLLs present at
their
HintPathlocations? 3. Is Crystal Reports installed? 4. Are the COM/interop DLLs (SQLDMO, skinning) registered/available? Ninety-nine percent of failures are one of these four.