windows: Sign altusmetrum.inf with altusmetrum.cat
authorKeith Packard <keithp@keithp.com>
Sun, 15 Jun 2014 23:10:15 +0000 (16:10 -0700)
committerKeith Packard <keithp@keithp.com>
Sun, 15 Jun 2014 23:30:08 +0000 (16:30 -0700)
This .cat file will need to be updated when we get our 'real'
signature.

Signed-off-by: Keith Packard <keithp@keithp.com>
altosui/Makefile.am
altosui/altos-windows.nsi.in
altusmetrum.cat [new file with mode: 0644]
altusmetrum.inf
telegps/Makefile.am
telegps/telegps-windows.nsi.in

index ddeb8ea..820c973 100644 (file)
@@ -144,7 +144,7 @@ MACOSX_INFO_PLIST=Info.plist
 MACOSX_FILES=$(FAT_FILES) libaltos.dylib $(MACOSX_INFO_PLIST) $(DOC) ReadMe-Mac.rtf $(MACOSX_ICON)
 MACOSX_EXTRA=$(FIRMWARE)
 
-WINDOWS_FILES=$(FAT_FILES) altos.dll altos64.dll $(top_srcdir)/altusmetrum.inf $(WINDOWS_ICON)
+WINDOWS_FILES=$(FAT_FILES) altos.dll altos64.dll $(top_srcdir)/altusmetrum.inf $(top_srcdir)/altusmetrum.cat $(WINDOWS_ICON)
 
 all-local: classes/altosui $(JAR) altosui altosui-test altosui-jdb
 
@@ -334,4 +334,4 @@ $(MACOSX_DIST): $(MACOSX_FILES) $(MACOSX_EXTRA) Makefile
 
 $(WINDOWS_DIST): $(WINDOWS_FILES) altos-windows.nsi
        -rm -f $@
-       makensis -Oaltos-windows.log "-XOutFile $@" "-DVERSION=$(VERSION)" altos-windows.nsi
+       makensis -Oaltos-windows.log "-XOutFile $@" "-DVERSION=$(VERSION)" altos-windows.nsi || (cat altos-windows.log && exit 1)
index 5a632f8..3249803 100644 (file)
@@ -94,15 +94,18 @@ Section "Install Driver" InstDriver
        InstDrv::DeleteOemInfFiles /NOUNLOAD
        InstDrv::CreateDevice /NOUNLOAD
 
-       SetOutPath $TEMP
-       File "../altusmetrum.inf"
-       InstDrv::InstallDriver /NOUNLOAD "$TEMP\altusmetrum.inf"
-
        SetOutPath $INSTDIR
        File "../altusmetrum.inf"
+       File "../altusmetrum.cat"
 
-       SetOutPath $WINDIR\Inf
-       File "../altusmetrum.inf"
+       ${DisableX64FSRedirection}
+       IfFileExists $WINDIR\System32\PnPutil.exe 0 nopnp
+               ${DisableX64FSRedirection}
+               nsExec::ExecToLog '"$WINDIR\System32\PnPutil.exe" -i -a "$INSTDIR\altusmetrum.inf"'
+               Goto done
+nopnp:
+               InstDrv::InstallDriver /NOUNLOAD "$INSTDIR\altusmetrum.inf"
+done:
 
 SectionEnd
 
diff --git a/altusmetrum.cat b/altusmetrum.cat
new file mode 100644 (file)
index 0000000..2d7e8b2
Binary files /dev/null and b/altusmetrum.cat differ
index 220069b..45905cc 100755 (executable)
@@ -6,9 +6,10 @@ Signature      = "$Windows NT$"
 Class          = Modem\r
 ClassGUID      = {4D36E96D-E325-11CE-BFC1-08002BE10318}\r
 Provider       = %Mfg%\r
-DriverVer      = 08/05/2010,7.1.1.0\r
+DriverVer      = 06/15/2014,7.1.1.0\r
 PnpLockDown    = 0\r
 DriverPackageDisplayName = %DriverName%\r
+CatalogFile    = altusmetrum.cat\r
 \r
 [DestinationDirs]\r
 FakeModemCopyFileSection = 12\r
index 99c2fb4..7b550e9 100644 (file)
@@ -128,7 +128,7 @@ MACOSX_README=ReadMe-Mac.rtf
 MACOSX_FILES=$(FAT_FILES) libaltos.dylib $(MACOSX_INFO_PLIST) $(MACOSX_README) $(DOC) $(MACOSX_ICON)
 MACOSX_EXTRA=$(FIRMWARE)
 
-WINDOWS_FILES=$(FAT_FILES) altos.dll altos64.dll $(top_srcdir)/altusmetrum.inf $(DOC) $(WINDOWS_ICON)
+WINDOWS_FILES=$(FAT_FILES) altos.dll altos64.dll $(top_srcdir)/altusmetrum.inf $(top_srcdir)/altusmetrum.cat $(DOC) $(WINDOWS_ICON)
 
 if FATINSTALL
 
index 43699fa..e6798c4 100644 (file)
@@ -94,15 +94,18 @@ Section "Install Driver" InstDriver
        InstDrv::DeleteOemInfFiles /NOUNLOAD
        InstDrv::CreateDevice /NOUNLOAD
 
-       SetOutPath $TEMP
-       File "../altusmetrum.inf"
-       InstDrv::InstallDriver /NOUNLOAD "$TEMP\altusmetrum.inf"
-
        SetOutPath $INSTDIR
        File "../altusmetrum.inf"
+       File "../altusmetrum.cat"
 
-       SetOutPath $WINDIR\Inf
-       File "../altusmetrum.inf"
+       ${DisableX64FSRedirection}
+       IfFileExists $WINDIR\System32\PnPutil.exe 0 nopnp
+               ${DisableX64FSRedirection}
+               nsExec::ExecToLog '"$WINDIR\System32\PnPutil.exe" -i -a "$INSTDIR\altusmetrum.inf"'
+               Goto done
+nopnp:
+               InstDrv::InstallDriver /NOUNLOAD "$INSTDIR\altusmetrum.inf"
+done:
 
 SectionEnd
 
@@ -135,13 +138,14 @@ Section "TeleGPS Desktop Shortcut"
        CreateShortCut "$DESKTOP\TeleGPS.lnk" "$INSTDIR\telegps-fat.jar"  "" "$INSTDIR\telegps.ico"
 SectionEnd
 
-Section "TeleGPS Firmware"
+Section "TeleGPS, TeleDongle and TeleBT Firmware"
 
        SetOutPath $INSTDIR
 
        File "../src/telegps-v1.0/telegps-v1.0-${VERSION}.ihx"
        File "../src/teledongle-v0.2/teledongle-v0.2-${VERSION}.ihx"
        File "../src/telebt-v1.0/telebt-v1.0-${VERSION}.ihx"
+
 SectionEnd
 
 Section "Documentation"
@@ -178,6 +182,11 @@ Section "Uninstall"
        Delete "$INSTDIR\*.*"
        RMDir "$INSTDIR"
 
+       ; Remove devices
+       InstDrv::InitDriverSetup /NOUNLOAD {4D36E96D-E325-11CE-BFC1-08002BE10318} AltusMetrumSerial
+       InstDrv::DeleteOemInfFiles /NOUNLOAD
+       InstDrv::RemoveAllDevices
+
        ; Remove shortcuts, if any
        Delete "$SMPROGRAMS\TeleGPS.lnk"
        Delete "$DESKTOP\TeleGPS.lnk"