- Ja. Du kan bruge nogle opsætningsværktøjer, som f.eks. InnoSetup. Personligt kan jeg dog godt lide at give mine kunder en zip-fil, som de udpakker, hvor end de har lyst. Den eksekverbare jar skal kunne håndtere alt selv (jeg kan godt lide det, hvor der ikke er behov for at installere softwaren, bare udpakke og køre).
- Hvis det er hårdkodet, så ja (men hvad mener du med hardkodet ? sti til fil? IP-adresse?). Du bør bruge egenskaber eller konfigurationsfiler til stier og andre eksterne ting, som din software afhænger af. Softwaren bør læse fra disse filer. Ved opstart skal du kontrollere for tilstedeværelsen af sådanne filer - hvis de mangler, skal brugeren få vist et vindue, hvor konfigurationen kan indtastes.
Med hensyn til at implementere MySQL med din kode - overvej at bruge en server til det, så dine brugere ikke er tvunget til at installere MySQL, i stedet forbinder de til den over nettet. Hvis du kun har brug for databasen til at gemme data lokalt, hvorfor så ikke bruge SQLite eller en lignende filbaseret db-motor?
Ovenstående svar er kun forslag og mere-mindre afspejler den måde, jeg tænker på. Jeg hører gerne fra nogen med mere erfaring. Ikke desto mindre håber jeg, at svarene hjælper lidt :)