El tema de la desinstalación y vuelta a instalar sí se podría arreglar (creo), pero tendría que pensar un rato en cómo hacerlo. Tengo una ligera idea de cómo podría hacerse, pero una cosa es pensar que funcionará y la otra es que realmente funcione... je, je...
Si te puedes apañar con lo que comentas de actualizar la fecha de fin de la demo antes de empaquetar pues hazlo así. Simplemente por dos circunstancias:
- No sé si podría darte una respuesta rápida a lo que te comentaba en el anterior párrafo
- No sé si funcionaría
Si te interesa le echo un vistazo, pero te pido un poco de paciencia porque o bien me sale a la primera o bien me sale a la mil, o directamente no me sale.
Pasando a tu segunda consulta si lo que quieres es que no se cierre la BD pero que sí se bloqueen los botones tienes dos opciones, que se resumen en manipular una u otra propiedad de los botones. Me explico:
1.- Tienes la propiedad "enabled" del botón. Si la desactivas verás el botón, pero este no estará activo.
2.- Tienes la propiedad "visible" del botón. Si la desactivas simplemente no verás el botón.
Yo te escribiré el código con un dos botones manipulando ambas propiedades. Como verás, vista una vistas todas. No tendrás problema para adaptarlo al resto de botones.
Te indico cómo debes hacerlo:
1.- Coges el nombre del boton (Propiedades -> Pestaña Otras -> Nombre). Yo supondré unos nombres iguales a los que comentas, pero con el prefijo cmd.
2.- Una vez tengas esos nombres apuntados debemos modificar el código. Yo te indico aquí la parte del código que debe cambiarse. Tenemos estas líneas con este bloque decisional IF:
...
If Date > vFinDemo Then
MsgBox "El periodo de demostración ha finalizado", vbCritical, "FIN DEMO"
'Salimos de la BD
DoCmd.Quit
Exit Sub
End If
...
Debes cambiar ese bloque por el siguiente:
...
If Date > vFinDemo Then
MsgBox "El periodo de demostración ha finalizado", vbCritical, "FIN DEMO"
'Bloqueamos los botones
With Me
.cmdASOCIACIONES.Enabled = False
.cmdCRIADORES.Visible = False
'Aquí irían el resto de botones que quieras desactivar u ocultar, siempre antes del End With
End With
Exit Sub
End If
...
Y con eso debería funcionarte como pides.
Ya me comentarás qué tal te ha ido.