Hur skapar man installerare och kopieringsskydd i Mac OS X?

Tråden skapades och har fått 10 svar. Det senaste inlägget skrevs .
1

Hejsan!

Vi jobbar ju som kanske har framgått mycket med Lasso. Nu har vi precis lyckats göra en sak som inte går i Lasso, med Lasso, vilket är ganska roligt. Vi torde vara de enda i världen som gjort det. Tyvärr kan jag inte berätta ännu vad det är vi har lyckats med, så fråga inte.

Eftersom vi hoppas kunna slå mynt av vår lösning så stöter vi på lite problem som vi inte känner till lösningen på och hoppas därför på lite pekare från våra kära vänner på 99Mac.com. Hihi.

- Fråga 1: Kan javafiler kompileras på en maskin och köras på en annan?

- Fråga 2: Hur gör man en installerare för MacOS X? Den behöver kunna flytta bort en gammal fil, lägga dit vår, kanske skriva något i en config-fil, ändra rättigheter på filer, installera hjälptexter och andra instruktioner och avsluta och starta en eller flera processer. Snyggast är förstås att installeraren är självgående, man distribuerar en .dmg-fil, som man monterar på skrivbordet, sedan dubbelklickar man på en installerare som gör resten.

- Fråga 3: Hur gör man ett vettigt kopieringsskydd á la shareware med java? Vore trevligt om man fick skriva in en registreringskod i installationsprocessen.

Tack på förhand!

/Ola

Kan svara på fråga 1 och 2.

1. Hela grejen med Java är ju att man ska kunna "Compile Once - Run Anywhere" (eller för att vara elak: "Compile Once Debug Everywhere"). Så på denna fråga är svaret ett enkelt Ja

2. Prova att kolla på Package Maker det är ett program som följer med Developer Tools för att skapa just .pkg installationsfiler. Man kan låta installeraren köra shellscript så det mesta går att lösa.

1. Anledningen att vi frågade är att när vi försökte göra 1 genom att kompilera på en maskin, flytta den kompilerade filen till en annan maskin, så fungerade det inte alls (vi kollade det vi kunde komma på, rättigheter och liknade och provade med omstart också). Något vanligt nybörjarmisstag vi borde känna till här?

I övrigt så tackar jag för dina tips Anders, hoppas att någon kan svara på 3 också.

/Ola
Edit: Stavfel och meningsbyggnad.

Senast redigerat 2003-08-08 20:04
  • Medlem
  • Värmdö
  • 2003-08-08 17:40

Hej!

Problemen ni upplevde kan vara versionsproblem. Om ni kompilerar på en maskin med JDK1.4 och använder funktioner som inte finns i JDK1.3 och sedan försöker köra koden på en maskin med 1.3 så kommer det inte att fungera.

Dvs kontrollera java versionerna ni installerar för.

/Johan

Nästan bergis på att min kollega kollade det, han berättade i alla fall att Java är mycket känsligt för olika versioner.

Tack för tipset.

Några andra blunders man lätt gör?

/Ola

  • Oregistrerad
  • 2003-08-08 22:10

Tänk på hur ni kompilerar också, kompilerar man på vanligt vis är risken för dekompilering stor. DVS de andra tar ert program och återskapar koden från den. Har ni otur kommer t.o.m. era kommentarer med i koden de får.

Angående ert problem med att köra programmet, kolla upp så ni inte kör en klass som är en wrapper till något nativ i OSet.

Hörde att dekompilering kan vara ett problem av en kompis. Tack för tipset, vi skall kika på båda dessa saker.

Hittade förresten denna sida hos developer.apple.com:

Dokumentation för att göra installerare:

Introduction to Software Distribution

/Ola

  • Medlem
  • Stockholm
  • 2003-08-12 16:20

Vad står det när ni försöker köra (java <fil>) den kompilerade filen??

Förresten, jag hade ingen aning om att det gick att återskapa koden från .class filer!
Berätta gärna mer

  • Oregistrerad
  • 2003-08-12 23:24
Citat:

Skrevs ursprungligen av ivar
Vad står det när ni försöker köra (java <fil>) den kompilerade filen??

Förresten, jag hade ingen aning om att det gick att återskapa koden från .class filer!
Berätta gärna mer

Har inte själv gjort det, men vet folk som gjort det och många som berättat det. tror det finns ett program för BeOS på www.bebits.com som gör det åt en. Du kan kompilera med en annan flagga tror jag så blir det inte återskapningsbart.

JODE är en "decompiler", DJ Java Decompiler också. Men hur bra de är vet jag inte.

Otäckt om det är så lätt att dekompilera. Vanlig kompilerad kod kan man i och för sej disassemblera, men det är svårt att läsa ut nånting ur den. Alla datastrukturer, klasser och sånt är obegripligt. Om man råkar kompilera med debug på kan man se namnen på procedurerna, men det är oftast allt. (Beror lite på vilken debuginformation som följer med.)

1
Bevaka tråden